해킹
태그 :
- 개념
- 해킹(Hacking) 의 정의 - 컴퓨터 네트워크의 보안 취약점을 찾아내어 이를 악의적으로 이용하는 행위 - 시스템 관리자가 구축해놓은 보안망을 무력화시키거나, 시스템 관리자 권한을 불법적으로 획득 및 악용해 다른 사용자에게 피해를 주는 일체의 행동
I. 보안 취약점의 악의적 이용 혹은 피해를 주는 행동, 해킹의 개요
가. 해킹(Hacking) 의 정의
- 컴퓨터 네트워크의 보안 취약점을 찾아내어 이를 악의적으로 이용하는 행위
- 시스템 관리자가 구축해놓은 보안망을 무력화시키거나, 시스템 관리자 권한을 불법적으로 획득 및 악용해 다른 사용자에게 피해를 주는 일체의 행동
나. 최근 해킹 공격의 특징
구분 |
내용 |
자동화 (Automation) |
인터넷 웜 및 윈도우용 공격도구 최근의 공격스크립트의 자동화 |
에이전트화(Agent) |
원격명령으로 공격을 수행하거나 에이전트 기반 빠른 정보 입수 |
분산화(Distributed) |
원격조정이 가능한 Agent형 백도어를 설치하고 이를 이용해 다른 시스템을 공격하는 방법 |
은닉성 (Stealth) |
Agent를 이용한 분산공격기법은 침입탐지 시스템을 무력화 할 수 있는 공격으로 공격자의 위치를 은닉 |
다. 해킹의 절차
라. 해킹절차의 구성요소
구분 |
정의 |
수집정보 |
사용도구 |
Footprinting |
공격대상의 정보수집 |
DNS,IP,ACL,보안장비,H/W,인증방법 |
Whois, nslookup, traceroute/tracert |
Scanning |
공격대상의 제공서비 스및 세부정보 확인 |
OS,동적호스트, 제공서비스 및 포트 |
Ping,winscan, superscan,nmap |
Enumeration |
유효사용자계정수집 및 시스템취약부분 수집 |
라우팅테이블, snmp user&group name |
null sessions, dumpACL, NAT, Legion, netcat, rpcinfo, net view , nbstat, nbtstat
|
gainning |
공격대상에 접근을 시도하여 접근권한획득 |
패스워드 도청, 패스워드 파일 획득 |
tcpdump, Leadsmb, NetBIOS Audit Tool, pwdump2, ttdb, bind |
Escalation Privilege |
관리자의 접근권한 획득 |
관리자에 대한 정보 수집 |
패드워드 크랙 : john, L0phtcrack Exploit : lc_message, getadmin, sechole |
pilfering |
단독시스템 권한 획득후 신뢰관계시스템의 접근권한 확보를 위한 정보 재수집 |
사용자에 대한 정보 재수집 |
Trust 이용 : .rhost, LSA Secrets cleartext 패스워드 검색 : 사용자 데이터, 구성파일, 레지스트리 |
Covering Track |
공격대상에 대한 모든 접근 권한 획득 후 침입에 관련한 정보 및 도구를 숨김 |
로그/감사정보 |
로그삭제 : Zap, Event Log GUI 도구 감추기 : rootkit, file streaming 감사 방해 : AuditPol / disable |
Creating Backdoor |
재침입을 위해 백도어 설치 |
|
cron, AT, rc,, Registry Keys, netcat, remote.exe , VNC , BO2k, keystroke loggers, mail alias,login, fpnwclnt.dll |
라. 최근 해킹 동향
- 다양한 유형의 악성코드에 감염된 PC를 이용하여 개인정보유출, 스팸메일 등의 공격
- 응용프로그램의 취약점을 노리는 홈페이지 은닉 악성코드의 지속적인 위협
- 사회적인 이슈를 이용한 악성코드의 유포, 이메일 링크클릭이 아닌 SNS나 합법적인 기관을 가장한 접속 유도 등으로 고도화 추세
- 스마트폰이나 넷북의 증가로 무선랜 사용을 악용 한 가짜 무선랜을 만들어 해킹 시도
- 대중의 정보 전달 매체인 Twitter도 XSS 해킹을 당하는 등 인터넷 라이프의 모든 면에서 해킹의 위험 존재
II. 해킹의 주요 유형 및 기법
가. 해킹의 주요 유형
구분 |
내용 |
프로그램의 취약점을 이용한 공격 |
버퍼오버플로우(Buffer Overflow)공격 레이스컨디셔닝(race conditioning)공격 포멧 스트링(format string)공격 CGI/자바 스크립트의 취약점공격 ASP, PHP 스크립트의 취약점 공격 |
프로토콜의 취약점을 이용한 공격 |
Dos와 DDOs, 스니핑(Sniffing), 스푸핑(Spoofing), 세션하이재킹(Session Hijacking), NetBIOS 크래킹 |
악성코드 |
바이러스, 트로이 목마, 백도어 웜, 블라스트웜 |
사회공학적 해킹기법 |
인간기반(Human Based), 컴퓨터 기반(Computer Based) |
시스템과 서비스 설정의 취약점을 이용한 공격 |
시스템과 시스템에서 제공하는 각종 서비스 설정과 관련된 취약점을 이용 |
나. 프로그램의 취약점을 이용한 공격
구분 |
해킹 기법 및 대응책 |
|
버퍼 오버플로우 공격 (Buffer Overflow) |
해킹 기법 |
- 실행중인 프로세스의 실행흐름을 바꾸어서 자신이 원하는 코드를 실행시키는 형태의 공격방법 - “특정모듈호출 à 해당기능실행 à 호출이전모듈 로 리턴”, 이때 리턴주소를 원하는 곳으로 바꾸는 기법 - 해커들은 특정실행코드를 미리 메모리상에 저장, 리턴 주소가 그 코드의 시작부분을 가리키도록 함 - Stack Overflow, Heap Overflow로 분류 |
대응책 |
- 벤더에서 제공하는 소프트웨어 관련패치 적용, 최소권한으로의 프로그램 실행, 불필요한 서비스 제거 - 침입차단시스템을 통한 유해 트래픽 차단 |
|
레이스 컨디셔닝(Race Conditioning) |
해킹 기법 |
- 운영체제의 멀티태스킹 매커니즘의 취약점 이용 - 관리자 권한으로 실행되는 프로그램 중간에 끼어들어 자신이 원하는 작업을 하는 것 |
대응책 |
- 임시파일을 생성할 때, 임시파일이 이미 존재하는지 체크, 그 파일을 지우고 새로 생성 - 생성한 파일이 심볼릭 링크인지를 검사 - 지속적인 프로세스의 보안취약성 점검 및 관리 |
|
포맷 스트링(Format String) |
해킹 기법 |
- C언어의 포맷 스트링 (printf, fprintf, sprint 등)의 취약성을 이용한 공격기법 - 공격자가 원하는 부분에 값을 입력, 변경 가능 |
대응책 |
- 항상 최신패치적용, 각종 보안도구 이용하여 방어 - Non-executable Stack option 사용 |
|
웹어플리케이션 해킹(Web Application) |
해킹 기법 |
- 접근통제솔루션은 웹 서비스로 접근하는 패킷을 통제 하지 않고 내부로 유입시키기 때문에 악의적으로 패킷을 조작해서 보낸다면 정상 패킷으로 간주하여 적절한 통제가 이뤄질 수 없음 |
대응책 |
- 검증되지 않은 파라미터의 허용: 웹 요청에 대한 데이터형식, 데이터 길이 등의 예외규칙 적용 - 부적절한 접근통제: 웹컨텐츠의 퍼미션 점검, 불안전한 ID점검, 절대경로를 통한 인증회피가능 점검 - 부적절한 계정과 세션관리: 패스워드변경통제의 관리, 세션아이디보호, 백엔드 인증 등 |
다. 프로토콜의 취약점을 이용한 공격
구분 |
해킹 기법 및 대응책 |
|
서비스거부공격 (Denial of Service) |
해킹기법 |
- 시스템의 정상적인 서비스를 방해할 목적으로 대량의 데이터를 보내 대상 네트워크나 시스템의 성능을 급격히 저하시켜 대상시스템에서 제공하는 서비스들을 사용하지 못하게 하는 일반적 해킹수법 - 분산서비스 거부공격이란 이름으로 N개의 불특정 시스템이 단일 네트워크를 대상으로 공격을 시도하는 N:1 유형이 주류 |
대응책 |
- 초기에 이상징후 탐지하여 빠른 대응 - 보안 솔루션 구축 및 적절한 관리 운영, 기업보안대책 지속적인 업데이트 |
|
스니핑 (Sniffing) |
해킹기법 |
- 스니퍼는 ‘컴퓨터 네트워크상에 흘러 다니는 트래픽을 엿듣는 도청장치’ - 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 도청하는 것 의미 - 스니핑에 취약한 프로토콜: Telnet, Rlogin, Http, SNMP, FTP, SMTP 등 |
대응책 |
- 패킷을 가로채더라도 내용을 알 수 없게 하는 암호화 기법이 일반적 방어기법 - SSL적용, PGP, S/MIME, SSH VPN |
|
스푸핑(Spoofing) |
해킹기법 |
- 외부의 악의적 네트워크 침입자가 임의로 웹사이트를 구성해 일반 사용자들의 방문을 유도하여 사용자의 시스템 권한을 획득한 뒤 정보를 빼가는 해킹 수법 IP스푸핑의 공격절차 1단계: 패킷의 내용을 변경하여 스크리닝 라우터와 방화벽 통화 2단계: 소스IP주소를 조작하여 자신을 신뢰성있는 호스트로 인식 3단계: 원하는 호스트의 초기 시퀀스번호를 알아냄 4단계: 트로이목마 등의 프로그램설치, 호스트 접근 권한 혹은 루트 권한 획득 |
대응책 |
- 공격자에게 RESET 신호를 보내어 공격을 차단하거나 공격 클라이언트를 차단하여 공격으로부터 서버를 보호하거나 운영체제를 Patch 또한 방화벽에서 불필요한 IP 접근을 방지 |
|
세션 하이재킹 (Session Hijacking) |
해킹기법 |
- 웹 브라우징 시 세션관리를 위해 사용되는 세션 아이디를 스니핑이나 무작위 추측공격(brute-force guessing)을 통해 도용하는 기법 |
대응책 |
- 강력한 알고리즘에 의한 세션아이디 발급 - 세션아이디의 유효시간 및 계정 잠금 관리 - 길이가 길고 암호화된 세션아이디 |
라. 악성코드 (Malicious Software, Malware)
악성코드 |
설명 |
바이러스(Virus) |
- 정상적인 프로그램이나 데이터를 파괴하도록 특수하게 개발된 악성 프로그램(Malicious Program) - 자기 복제를 하며, 파일에 손상을 주거나 하드 디스크의 정보를 파괴하는 등 부작용을 일으킴 |
트로이 목마 (Trojan Horse) |
- 겉으로 보기에는 전혀 해를 끼치지 않을 것처럼 보이지만 실제로는 바이러스 등의 위험인자를 포함하고 있는 프로그램 - 자기 복사능력이 없다는 것이 컴퓨터 바이러스와의 차이점 |
백도어 |
- 프로그램 개발이나 유지보수, 유사 시 문제 해결 등을 위해 시스템 관리자나 개발자가 정상적인 절차를 우회하여 시스템에 출입할 수 있도록 임시로 만들어둔 비밀 출입문 |
웜(Worm) |
- 네트워크를 통해 자신을 복제하고 전파할 수 있는 악성 프로그램 - 단순히 자기 복사 기능만 가진 프로그램으로 시스템 과부하 발생 |
마. 사회공학적 해킹기법
구분 |
설명 |
대응방안 |
인간기반 (Human Based) |
공격대상에게 직접적인 접근이나 전화 등을 통해 접근하는 경우(상위기관 사칭, 기술지원 요원 가장) |
- 교육과 훈련을 통한 사용자에게 올바른 행동지침 제시 및 인식제고 - 시스템 차원의 대비책을 적절히 병행하여 사용자의 실수를 최소화하는 체계 구축 - 새로운 유형의 사회공학적 해킹에 대해 연구하고 신속하게 대처할 수 있는 정부차원의 체계 구축 |
컴퓨터 기반 (Computer Based) |
공격 대상에게 악성코드. 컴퓨터 프로그램, 웹 사이트 등의 수단을 이용하여 접근하는 경우(피싱, 스팸메일을 통한 악성 코드 유포 등) |
III. 해킹의 대응 방안
구분 |
방법 |
내용 |
기술적 방안 |
네트워크 보안 |
- 방화벽(Firewall) 도입 - IDS(Intrusion Detection System), IPS 도입 - VPN(Virtual Private Network) 도입 |
서버 보안 |
- Secure OS, Secure IDS 도입 - OS Patch |
|
DB 보안 |
- 사용자 인증 실시 - 데이터에 대한 접근 권한 관리, RBAC |
|
통합 보안 |
- EAM(Extranet Access Management), ESM(Enterprise Security Management) 등 통합보안 체계 구축 |
|
관리적 방안 |
- 보안 정책의 수립, 교육 등을 통한 절차 준수 - 보안 감사 및 보안 컨설팅 시행 |
|
물리적 방안 |
- 출입통제 강화 - 서류 및 파일의 유출 금지 강화 |
IV. 해킹 기술 동향
- 해킹 기술과 바이러스 기술의 통합: 코드레드(Code Red), Nimda, Klez 등 웜바이러스 형태로 대형 피해를 유발시키는 방법 성행
- 핵티비즘의 확산: 정치, 사회, 산업, 국가 등의 목적으로 변화, 정치 사회적 목적을 달성하기 위한 급진적인 운동의 한 형태
3. 무선 해킹의 등장