18. 플러그인 개발
• Hooks란?
– 사전적 정의 : (갈)고리, 걸이; (낚싯바늘로) 낚다 등
– S/W 관점: 각종 프로그램에서 발생하는 기능호출,
메시지, 이벤트 등을 중간에서 바꾸거나 가로채는
기술.
– 주로 크래킹의 관점에서 사용. (예)키로거
WordPress Plugin & Security [ 18 ]
20. 플러그인 개발
• Anctions란?
– 사전적 정의 : 행동, 조치, 동작
– Actions는 워드프레스가 동작할 때 후킹을 지원하는
Action API를 이용하여 직접 만든 PHP function들을
원하는 부분에서 실행이 되도록 함.
– Actions Functions(has_action, add_action 등)
WordPress Plugin & Security [ 20 ]
21. 플러그인 개발
• Filters란?
– 사전적 정의 : 여과, 필터(특정정보차단) 등
– Filters는 워드프레스가 동작할 때 후킹을 지원하는
Filter API를 이용하여 어떤 값이 데이터베이스 또는
브라우저에 보내어 지기 전에 수정하도록 함.
– Filter Functions(has_filter, add_filter 등)
WordPress Plugin & Security [ 21 ]
22. 플러그인 개발
• 플러그인 개발 기본 구조
/*
Plugin Name : 플러그인 이름
Plugin URI : 플러그인 홈페이지
Description: 플러그인 설명
Author : 개발자
Version : 버전
Author URI : 개발자 홈페이지
*/
function 사용자정의함수(){
}
플러그인 API함수(‘hook_name’,’사용자정의함수’);
WordPress Plugin & Security [ 22 ]
23. 플러그인 개발
• 워드프레스 함수의 이용
– DB에 저장된 관리자 이메일을 블로그 메인 상단에
출력하는 플러그인
WordPress Plugin & Security [ 23 ]
29. 플러그인과 보안
• 보안 이슈
– 오픈소스로 취약점이 모두 공개
– 서비스형 블로그보다 설치형 블로그가 공격 대상이
될 확률이 높음
– 블로그는 개인의 정보가 많이 저장되어있음.
WordPress Plugin & Security [ 29 ]
30. 보안 사고 사례
• 원격 admin password 초기화(ver.2.8.3 이하)
– Admin 계정 password 초기화
– 새로운 메일로 초기화된 password를 받음
WordPress Plugin & Security [ 30 ]
31. 보안 사고 사례
• 지능형 웜(`10.04.08)
– 특정 글의 링크를 통해 공격대상을 정함
– 스스로 관리자계정을 만듬
– 자바스크립트를 이용해 스스로를 숨겨 인지하지
못하도록 함
WordPress Plugin & Security [ 31 ]
32. 보안 사고 사례
• 대규모 악성코드 유포(`10.04.08)
– Siteurl의 값을 변형
– 악의적인 웹사이트로 연결하는 iFrame 삽입
– 해당 사이트는 악성코드를 유포
– 악성코드에 감염되면 또다른 번형 악성코드를 설치
– 허위백신을 설치하여 금전 결제를 유도
WordPress Plugin & Security [ 32 ]
33. 플러그인과 보안
• 플러그인을 통한 해킹
– twitme 플러그인의 다음 소스 삽입 후 재 배포
– 각종 정보 수집
WordPress Plugin & Security [ 33 ]
34. 플러그인과 보안
• 플러그인을 통한 해킹
– 관련 분야가 아닌 일반 사용자에게는 구분이 어려움
– 대부분의 인터넷 이용자 비밀번호는 동일
– 이메일에는 개인정보의 집합체
WordPress Plugin & Security [ 34 ]
35. 플러그인과 보안
워드프레스 보안 대책
WordPress Plugin & Security [ 35 ]
36. 보안 대책
• Admin 계정 및 패스워드 변경
– 추측을 통한 공격 예방(brute-force attack, forceful browsing)
•– Wp-config.php 접근 통제
흔히 사용하는 관리자 계정보다는
• 패스워드를 사용하는 플러그인은 주의
일반적인 Name : .htaccess (permissions to chmod 644)방법
File 계정이 상대적으로 보안을 높일 수 있는
– 패스워드는 가급적 중요서비스와는 다르게 설정
<Files wp-config.php>
• 지속적인 업데이트 관리
Order Deny, Allow
Deny from All
</Files>
WordPress Plugin & Security [ 36 ]