2006 Security Trend & Threat 중국발해킹의발전과대응 2006.10.24 전상훈 [p4ssion]
-Agenda - I. Security Trend 환경의변화 위협요소 Security의변화 공격유형의변화 II. 대응
I. Security Trend - 환경의변화 취약성및공격기술발전에따른정보보호기술의발전유형 Vulnerability & Attack Skill Security Technology
I. Security Trend - 위협요소 Vulnerability - 취약성은계속증가하며 Application 의발달에따라더욱많은취약성들이출현하게될것이다.
I. Security Trend - 위협요소
I. Security Trend - 위협요소
I. Security Trend - 위협요소 최초의자동화된 Worm 공격출현 ( CodeRed, Nimda) [ 운영체제의취약성을이용한웜최초등장 ] L7 Layer [switch] RPC DCOM, Welchia, Slammer 웜의피해극심 [ 운영체제및주요 APP 취약성을이용한웜활발 ] IPS 출현 Santy worm [php ], Zeroboard 등의 Application 웜등장 [Application 취약성을이용한공격최초발생 ] IPS 적용 Application Coding 취약성을이용한악성코드설치및정보유출 [ SQL Injection, File Upload 등을통한악성코드유포 ] Web Firewall Zeroday Worm 의일반화및금전적인이득을목적으로한악성코드유포및개인정보유출행위급증 [ Application 에대한취약성급증으로공격증가예상됨 ]???
I. Security Trend - 공격유형의변화 1. APP 취약성을이용최초공격 2. 특정 Exploit 자동생성후임의의 IP 대역에대한재감염시도 Worm Process Attacker 취약 Application 서버 -A 취약 Application 서버 취약 Application 서버 취약 Application 서버 3. 추가감염된사이트공격계속
I. Security Trend - 공격유형의변화 [2006.9] 공격자의계정 5. ID/ Pass 이메일등으로전송 게임및금융사이트 사용자대상어뷰징 3. 사이트에접근하는모든유저에게악성코드배포및설치 4. ID/ Pass 인터셉트 악성코드 Attacker 유명사이트 취약한서비스 1. SQL Injection 이용유명사이트공격 2. DB 권한이용페이지변조및백도어설치 사이트방문자 사이트방문자 패치및백신활용 사이트방문자 악성코드감염
I. Security Trend - 공격유형의변화 [2006.10] 공격자의계정 5. ID/ Pass 이메일등으로전송 게임및금융사이트 사용자대상어뷰징 3. 사이트에접근하는모든유저에게악성코드배포및설치 악성코드 4. ID/ Pass 인터셉트 5. 주변서버침입전파웜, Virus 기능확산 Attacker 유명사이트 취약한서비스 1. SQL Injection 이용유명사이트공격 2. DB 권한이용페이지변조및백도어설치 패치및백신활용 악성코드감염 6. 신규취약성및정상파일가장한악성코드설치 [ 백신, 패치무력화 ] 위험레벨높은단계수시발견 사이트방문자 사이트방문자 사이트방문자 주변 PC 주변 PC 주변 PC
I. Security Trend -Security 의변화 악성코드흐름 전용백신탐지데이터기반 [ 특정게임기반 -> 전체온라인서비스기반으로확산조짐 ]
I. Security Trend -Security 의변화 Security 패러다임은웜의출현을기준으로구분을할수있으며웜발생이전의공격자의격리를주된목적으로하는보안정책에서웜의활성화이후자산의보호로급격하게선회하였음. 현재는개인 PC 에대한공격으로전환 - Red Zone 의이동 : 기업 -> 개인 PC ( 대응이빠른조직에만이동그외는유효 ) * 최근 IT 서비스업체의보안분야협력은필연적인프로세스임 * Secure Protect : Anti Virus, Personal Firewall, 보안패치, Key board 보안 Network Worm 이전 Worm 이후 개인 PC 공격 고객 IT 조직 Codered Nimda 고객 IT 조직 불특정개인 PC 고객 IT 조직 Protect Isolation- 격리 Attacker / Cracker IRCBot Phatbot Bagle Mydoom Protect Attacker / Cracker Secure Protect Attacker / Cracker 계정탈취용 Trojan Zeroday exploit 다수출현 개인 PC Attack 흐름
I. Security Trend -Security 의변화 Firewall, IDS Firewall, IDS, IPS, Virus Wall,Secure OS PMS [ 사내, 고객 ], AV Secure Process [ 개발, 운영 ] IT 서비스주요기업포함됨직접공격의대상에포함 일부 IT [ 게임, 포털, 정부 ] 서비스업체에서개인 PC 보호강화 Network Worm 이전 Worm 이후 개인 PC 공격 고객 IT 조직 Codered Nimda 고객 IT 조직 불특정개인 PC 고객 IT 조직 Protect Isolation- 격리 Attacker / Cracker IRCBot Phatbot Bagle Mydoom Protect Attacker / Cracker Secure Protect Attacker / Cracker 계정탈취용 Trojan Zeroday exploit 다수출현 개인 PC Attack 흐름
II. 대응 Web Application 의위기 Web Application Vulnerability 32% Hijack Session/ 개인정보유출 21% Full Control & 정보접근가능 7% 정보수정가능 Frequent Pervasive 4 개중 3 개의 Website 가취약성을지니고있다. (Gartner) 75% 의해킹이 Application Level 에서발생한다. (Gartner) 11% 온라인쇼핑정보노출 2% 웹사이트삭제 27% 개인정보노출 Undetected 품질관리를위한도구들은 Security 문제점을찾아내기위한도구들이아니다. 수작업에의존한탐색은비용과시간이매우많이소요된다. Dangerous 특정 Web Application Scanner 를이용해 1000 여개의 Site scan 시 98% 의사이트에문제가존재함 취약성을통한공격으로위험이노출되었을때회사의신뢰도및고객의믿음에영향을끼친다.
II. 대응 -Web 상의주요위험요소 [ 한국 ] Attack A: SQL injection Scenario: 공격자가 SQL 구문의일부인것처럼하여 DB 서버에직접쿼리를실행시키도록함 피해 : Read unauthorised data, update or remove DB records, etc. Attack B: Cross-site scripting [XSS Attack] Scenario: 웹페이지링크를속이거나스크립트를실행시키는게시물등을작성하여유포함 Potential damage: 사용자의쿠키정보및악성코드를실행할수있다.
II. 대응 -Web 상의주요위험요소 [ 한국 ] SQL Injection 설명 특수문자에대한필터링부족및 DB Query 문의실행, 입력문자열길이의제한부재로인해발생된문제 실행원리 : 대부분의웹서버사용자인증과정 Select * from member where id= txtid and pw= txtpw 위의쿼리문에서 POST 방식으로 txtid, txtpw 인자값을전송하는방식 문자를내부적으로처리시에 인용부호를붙여서사용함 문자입력시 SQL 문이제대로구성되지않는점을이용 URL 의인자단위에서 Validation 체크부족으로인하여문제발생됨 http://xxx.xxx.co.kr/board/view.asp?bid=c060201&no=116895 정상쿼리 http://xxx.xxx.co.kr/board/view.asp?bid=c060201&no=116895 ' and db_name() 와같이 bid,no 와같은인자뒤에 SQL Query 구문입력시 DB 로명령이실행되어결과가리턴되는문제 [ DB 에대한통제권을잃게됨 ]
II. 대응 -Web 상의주요위험요소 SQL Injection Sample [Input Validation Problem]
II. 대응 -Web 상의주요위험요소 웹소스의 Validation problem 을이용한 Database 직접쿼리 [ by china]
II. 대응 -Process 에서의대응보안성검수 [ Penetration Test ] 가가장중요한최종단계역할수행 웹서버인자유효성체크 & Penetration Test 자체룰셋업데이트로침입탐지후차단 IDS 침입탐지시스템 외부공개서버 DB 접근제어및권한제어 DB 서버 취약성제거 / 접근제어정책수행 인터넷 Si ACL 통제 Firewall 사내망 Si 외부공격자 (Cracker 등 ) 외부공개서버 외주게임서버 인자유효성체크및보안설정강화 유효성체크
II. 대응 Secure Programming & Secure Inspection 기본적으로운영서비스에대한보안성검수는반드시이루어져야문제방지됨 Risk Discovery App 보안성검수반복 IT Security Review Request Assessment Approved? Yes Perform Assessment Generate Report Critical No Vulnerabilities? Project Approved No Yes 개발부서 Project Owner Submits Request Request Deferred or Rejected Apply Fixes Review Report Review Report 사업부서 Fix Fix or go live? Go live 경영층 위험감수정책적인예외
II. 대응 보안성검수중 Input validation check 가가장위험요소가높은부분국내다수웹서버에문제존재함 [ 상용스캐너및공개용사용필요성높음 ] 공개용 - Gamja download at http://lastlog.com/p4ssion 상용 Appscan, Acunetix, Scando 등다수.. Problem Clear [ XSS, SQL Injection ] 문제확인및수정 [ XSS, SQL Injection ]
II. 대응 Secure Programming & Secure Inspection For Web Gamja.pl http://target.host/start-page Requirement: Wget [Windows] + Perl
II. 대응 XSS 대책 텍스트문장의가운데에특수문자가나올경우 ( HTML 로문장이표현될경우 ) < 태그를시작하는문자, & 문자속성을나타내는문자, > 태그의끝을나타내는문자의경우처리가필요하다. <script> </script> 의 body 부분에위치하는문자의경우세미콜론과 {}, [] 문자들은필터링이이루어져야한다. <, > 문자에대한치환혹은 <script, </script> 문장이 HTML 입력필드내에출현할경우에는반드시치환이되어 < = <, > => 등의문자로치환하여행위가발생하지않도록처리할것을권고한다. 변환값 (To) 변환대상 (From) < < > > ( ( ) ) # # & &
II. 대응 SQL Injection 대책 사용자가숫자를입력해야한다면, ISNUMERIC 함수등을이용해입력을검사한다. 문자열을입력시, 을 로바꾼다. ( 작은따옴표두개로바꿔준다 ) 또한 을 로바꾸는방법도있다. PHP 응용프로그램의경우 php.ini 환경설정파일에서 magic_quotes_gpc 옵션을 on 으로설정한다. 사용자로부터입력받은내용을 DBMS 서버에 query 로보내기이전에특수문자를제거하거나특수문자에독특한처리를하는함수 ( 예 : PHP 의 htmlspecialchars() 와 addslashes() 함수 ) 를사용하도록한다. 패턴 설명 문장종료 -- 주석시작,@variable 변수처리시사용, stored procedure 파악에유용 + URL 의 space, SQL 구문삽입에이용 @@variable PRINT SET SQL 변수처리시사용 ODBC 에러반환통해 SQL 구문삽입공격정보수집 SQL 구문삽입에이용 % 와일드카드로사용 OR 1=1 UNION AND INSERT SQL 구문삽입에이용 SQL 구문삽입에이용 SQL 구문삽입에이용 SQL 구문삽입에이용
Q&A