반응형

최양서 등(2001)의 해커 및 해킹 분류기법

 

최양서 등(2001)은 해커의 기술적 능력을 중점으로 구체적인 기준을 제시하여 크게 3가지, 작게 7가지로 해커를 분류하였다. 해킹수행 코드(exploit code)를 스스로 작성할 수 있는지 여부를 최초 기준으로 삼았는데, 해킹수행 코드란 어떤 취약점이 발표되었을 때 해당 취약점을 이용하여 해킹에 성공할 수 있도록 작성한 일종의 프로그램을 의미하는 것으로, 취약점의 종류와는 상관없이 해당 해킹수행 코드를 작성할 수 있는지 여부에 따라 구분하였다. 세부적으로는 새로운 취약점을 발견하고 그에 대한 해킹수행 코드를 작성할 수 있는지, 발표된 취약점에 대해서만 해킹수행 코드를 작성할 수 있는지, 발표된 해킹수행 코드를 수정을 하여 공격에 성공할 수 있는지, Unix 시스템을 사용할 수 있는지 등의 기준을 사용하였다.

해커 등급

해커 레벨

분류 기준

Wizard

Nemesis

새로운 취약점 발견 및 그에 대한 해킹수행 코드 작성 가능

Expert

발견된 취약점에 대한 해킹수행 코드 작성 가능

Guru

Experienced Technician

밣표된 해킹수행 코드를 해킹 대상 시스템에 적용될 수 있도록 변경 가능

Technician

발표된 해킹수행 코드의 minor한 수정, 대부분의 해킹기법에 대한 이해

Script Kiddie

Scripter

발표된 해킹수행 코드를 아무런 수정없이 그대로 사용, 단순한 스크립트 사용

Newbie

각종 해킹프로그램 및 단순한 Unix 시스템 명령 사용

Kids

GUI 형태의 단순 프로그램 사용

출처 : 최양서 등(2001)

 

해킹 기법들은 현재 알려져있는 여러 해킹 기법들의 동작방식이나 목표, 사용하는 취약점 등을 기준으로 하여 분류하는데, 공격의 목적, 사용하는 취약점의 종류, 일련의 해킹과정에 포함될 수 있는 여러 방법이라는 기준을 우선순위로 두었다.

 

해킹기법

수준 분류

시스템 및 서비스 설정 취약점

레벨 3. 파일시스템 쓰기권한 취약점 이용, suid 프로그램 관리상 문제 이용, 환경변수 이용 등

레벨 4. r-series 프로그램 설정 문제, ftp, nfs/nis, dns, sendmail, http 서버 설정 문제, 기타 데몬의 권한설정 및 쉘 수행가능 여부 등

프로그램 상의 취약점

레벨 3. CGI/JAVA 스크립트 취약점, ASP/PHP 스크립트 취약점 등

레벨 4. 버퍼 오버플로우 공격, 힙 오버플로우 공격, Race Condition

레벨 5. 포맷 스트링 공격, Frame Pointer 공격 등

레벨 6. 프로그램 설계상 보안문제, 각종 보안 강화도구 회피, Shared Library Redirection, 종료되지 않은 인접 메모리를 이용한 오버플로우 해킹기법 등

프로토콜 취약점

레벨 4. Packet Sniffing, Connection Reset(ICMP)

레벨 5. IP Spoofing

레벨 6. Session Hijacking, Packet Redirection(ICMP), Routing Table 변경, ARP를 이용한 MAC Address 조작, Port Redirection

정보 수집

레벨 2. 단순 포트스캔, 간단한 시스템 명령(ping, traceroute )을 이용한 정보수집

레벨 3. 복잡한 시스템 명령(rpcinfo, showmount )을 이용한 정보수집, 각종 서비스에서 제공하는 명령을 통한 정보수집, Banner Grabbing

레벨 4. Finger Printing(telnet, ftp, http 등 각종 서비스에서 제공하는 메시지를 확인), SNMP를 이용한 정보수집

레벨 6. Combined Scan/Disturbed Scan/Stealth Scan/Decoy Scan, TCP/IP 스택을 이용한 스캔 등

서비스거부 공격

레벨 3. 간단한 프로그래밍으로 수행할 수 있는 로컬 시스템상 서비스거부 공격(디스크 채우기, 메모리 고갈시키기, 프로세스 무한생성 등)

레벨 4. SYN Flooding/Ping Flooding, Mail Storm, Java Applet Attack/UDP Storm

레벨 5. Tear Drop, 일반 DDoS, Smurfing

레벨 6. 암호화된 DDoS

악성코드

레벨 3. 인터넷 서비스를 이용한 루트 권한의 shell bind, 파일 및 부트 바이러스

레벨 4. 단순한 백도어 프로그램, 암호화 바이러스

레벨 5. 은폐영 바이러스, 매크로 바이러스, 원본과 동일한 크기와 생성일시를 갖는 백도어

레벨 6. Raw socket을 이용한 shell bind, 에이전트형 백도어, Reverse telnet, ssh, 커널 레벨 백도어, Stealth Backdoor, 각종 웜, 다형성 바이러스, 각종 윈도우용 트로이안 프로그램

기타

(사용자 도용)

레벨 3. 일부 로그 삭제

레벨 4. 간단한 암호화 알고리즘의 복호화, 모든 로그 삭제

레벨 5. 사회공학적 방법, 패스워드 추축

레벨 6. 다른 로그에 영향없이 자신의 흔적 제거

출처 : 최양서 등(2001), 연구자 재구성

 

 

참고문헌

최양서, 서동일, 손승원. (2001). 해커 및 해킹 기법 수준 분류. 정보통신연구진흥원 학술정보, 14-31.

반응형
Posted by CCIBOMB
반응형

Marcus J. Ranum의 해킹 분류기법

 

현재 대부분의 해킹 대응을 위해 서비스를 제공하는 각종 업체 및 기관에서 주로 사용하고 있는 해킹기법 분류안은 침입차단 시스템을 가장 처음으로 만든 Marcus J. Ranum에 의해 분류된 것으로(KISA, 2000), 사용자 도용(impersonating), 소프트웨어 취약점(s/w vulnerablity), 버퍼오버플로우(buffer overflow), 환경설정 취약점(configuration vulnerabiltiy), 악성프로그램(malicious codes), 프로토콜 구조 취약점(protocol infrastructure error), 서비스거부공격(denial of service attack), E-mail 관련 취약점(e-mail vulnerability), 취약점 정보수집(vulnerabilities probling), 사회공학(social engineering) 기법 등으로 분류하고 있다.

 

참고문헌

KISA, (2000. 12.). “2000 정보시스템 해킹·바이러스 현황 및 대응”.
https://www.kisa.or.kr/jsp/common/libraryDown.jsp?folder=003336

반응형
Posted by CCIBOMB
반응형

기존의 해커 유형분류

 

기존의 해커 유형분류는 권한의 유무, 해킹의 의도, 피해자를 기준으로 한 것이 대부분이었다(SANS, 2012). 첫째, 법적인 권한 유무에 따라 윤리적 해커(ethical hacker)와 비윤리적 해커로 구분이 된다. 윤리적 해커란 시스템 보안 강화를 위해 불법 해킹 행위를 색출하는 임무를 지닌 보안 컨설턴트나 IT 보안 기업 종사자, 또는 불법적인 해킹행위를 하는 범죄자들을 추적·검거하는 사이버수사관들을 의미한다. , 모의해킹 및 컨설팅, IT감사, 영장집행 등 법적인 허가를 득하고 이를 수행하는 경우만을 의미하는 것이다.

둘째, 해킹의 의도를 기준으로 화이트 햇(white-hat)’, ‘블랙 햇(black-hat)’, ‘그레이 햇(gray-hat)’ 해커로 구분이 되곤 한다(Gráinne Kirwan & Andrew Power, 2013). 화이트 (white-hat)은 통칭 컴퓨터 사용을 즐기는 사람들로서 다른 사람이나 기관 컴퓨터에 침투할 능력은 있지만 그 과정에서 악의적인 위해는 가하지 않는 해커들을 의미한다. 이들은 윤리적(ethical)’ 해커라는 용어로 표현되기 하지만, 사용 권한이나 승인을 받지 않고 타인 및 특정 기관 소유 시스템에 침투하는 외부인들인 화이트 햇해커는 법적 권한을 가진 윤리적 해커와는 구분된다. 따라서 윤리적 해커가 아닌 이트 햇해커들이 악의적 의도 없이 해킹을 시도한 경우라 할지라도 이는 명백한 범죄 행위로 볼 수 있다. 즉 해킹 피해 시스템에 아무런 손상이 없는 경우라 해도 공식적인 권한 없이 컴퓨터 혹은 네트워크에 접속하려는 시도는 그 자체로 명백한 불법 행위이기 때문이다. 이와 관련, 일부 화이트 햇해커들은 자신들이 해킹한 시스템의 보안 문제점들을 해당 시스템 담당자에게 전달하고 있기 때문에 실제로는 해당 시스템 보안 강화에 도움을 주고 있다고 주장하고 있다. 일례로 해커 아드리안 라모(Adrian Lamo)는 자신이 해킹한 기관에 보안 결함을 발견한 것에 대해 감사 인사만 해준다면 무상으로 보안 취약점을 개선시켜주겠다고 제안했다고 한다(Kahn, 2004). 구글, 페이스북, 모질라 등 기술 거대기업에서 시작되어 인기를 끈 버그 바운티(bug bounty) 프로그램은 취약점을 일으키는 버그를 찾는 사람에게 포상금을 주는 것으로, 효율적인 취약점 개선 방안으로 제시되고 있다(Kirstin Burnham, 2015).

블랙 햇(black-hat)’ 해커들은 화이트 햇해커들과는 달리 특정 기관이나 개인 보유 정보나 소프트웨어에 접근 권한을 불법적으로 획득하거나 악의적인 손상을 가할 의도를 지닌 자들이다. 이들에게는 해킹한 기관의 보안 결함 사항을 지적하여 취약점 개선 등과 같은 도움을 주기 위한 의도 따위는 존재하지 않는다. 한편 그레이 햇(grey-hat)’들의 경우 표적으로 하는 시스템의 접속 방법을 알아내기 위해 해킹을 시도하는 해커들로서 자신이 발견한 사실들을 해당 기관 시스템 관리자에게 전달하면서 금전적 대가를 요구하는 경우가 많다. 또한 비윤리적 행태를 보이는 기관이나 특정인 소유 시스템에 대해 조직적 해킹 공격을 시도하는 이들을 그레이 햇해커라고 부르는 경우도 있다. 이들의 주된 표적 대상은 대체로 종업원들을 학대하거나 혹사시키는 비윤리적 기업들이다.

셋째, 공격대상인 피해자를 기준으로 핵티비스트(hactivist)’와 일반 사이버범죄자(산업스파이 등 금전적 이익을 목적으로 하는 경우를 포함) 등으로 구분이 가능하다. 핵티비스트는 컴퓨터 해킹(hacking)과 정치행동주의자(activist)의 합성어로서, 정치적, 종교적 이념을 추구하거나, 사회적 부당함에 대해 널리 알리는 것을 목적으로 한다. 핵티비즘(hacktivism)의 유형은 정치적 크래킹(political cracking), 행위적 핵티비즘(performative hactivism), 정치적 코딩(political coding) 등으로 구분된다(Alexandra, 2004). 정치적 크래킹은 해커 프로그래머에 의해 수행되는 명백한 불법적인 해킹행위로 사이트 손상, 사이트주소 수정, 서비스거부공격, 정보 절도, 사보타주 등의 광범위한 기법을 활용한 일체의 활동이나 이념을 의미한다. 행위적 핵티비즘은 예술적 행위자들에 의해 수행되며, 광범위한 이슈를 포함하지만 세계화, 인권과 같은 오프라인 이슈에 초점을 두고, 합법·불법의 판단이 모호한 해킹행위로 가상의 농성이나 사이트 패러디 등 기법을 활용한 일체의 활동이나 이념을 의미한다. 정치적 코딩이란 정책 기만을 위한 소프트웨어 상품을 개발해 활동하는 것으로, 정치적 코더들은 전형적으로 익명을 사용하고, 개발된 소프트웨어는 사실상 자유롭게 공유·수정되며, 다른 코더들에 의해 향상될 수 있는 개방형 소스이다.

 

 

참고문헌

Larisa April Long. (2012). “Profiling Hackers”. SANS Institute.
https://www.sans.org/reading-room/whitepapers/hackers/profiling-hackers-33864

Gráinne Kirwan and Andrew Power. (2013). Cybercrime: The Psychology of Online Offenders. Cambridge University Press, New York.

Kahn Jennifer (2004. 4. 12). "The Homeless Hacker v. The New York Times". Wired Magazine.
https://www.wired.com/2004/04/hacker-5/

Kristin Bunham, (2015. 10. 15). “How (and why) to start a bug bounty program”.
http://cw.com.hk/feature/how-and-why-start-bug-bounty-program?page=0,1

Alexandra W.S. (2004). Hacktivism and the Future of Political Participation. Harvard University.

반응형
Posted by CCIBOMB
반응형

해커(Hacker) · 해킹(Hacking)

 

해킹(hacking)이 최근 들어 발생하였다고 생각하지만, 1950년대 후반부터 발생하기 시작했다(Levy, 1984). 당시에는 컴퓨터가 흔하지 않아 미국 몇몇 대학들을 기반으로 해커들이 활동하였는데, 초기 해커들은 컴퓨터 기술을 이용하고 향상시키는데 목적을 가지고 있었다. 이들로 인해 컴퓨터 기술의 대중화가 이루어졌다는 것이 통설이다. 해커의 사회적·심리적·기술적 특성을 알아보기에 앞서, 논쟁이 되는 해킹(hacking)’이란 용어에 대해 살펴볼 필요가 있다. 연구자들의 관점 및 해커집단별 문화특성에 따라 해킹을 지칭하는 용어는 다르게 사용되므로 해킹에 대한 일반적인 정의를 확인하고, 세부 유형들에 대해 알아보기로 한다.

 

 

 

해커·해킹의 정의

 

해킹(hacking)은 정보통신망 이용촉진 및 정보보호 등에 관한 법률(약칭: 정보통신망법) 27호에서 침해사고를 일으키는 방법 중 하나로, 정보통신망 또는 이와 관련된 정보시스템을 공격하는 행위를 말한다고 정의된다. 위키피디아(wikipedia)에서는 해킹을 전자회로나 컴퓨터의 하드웨어, 소프트웨어, 네트워크, 웹사이트 등 각종 정보체계가 본래의 설계자나 관리자, 운영자가 의도하지 않은 동작을 일으키도록 하거나 체계 내에서 주어진 권한 이상으로 정보를 열람, 복제, 변경 가능하게 하는 행위를 광범위하게 이르는 말이라고 정의하며, 불법적 접근을 통해 다른 사람의 컴퓨터 시스템이나 통신망을 파괴하는 행위인 크래킹(cracking)과는 개념을 구분하고 있다. 또한 해커(hacker)는 선악(善惡)의 개념을 담지 않고 가치중립적이나, 언론 및 일반인들의 인식 상에서 해커는 컴퓨터 지식을 이용해 불법을 저지르는 크래커(cracker)와 구분되지 않고 컴퓨터 지식을 이용하여 권한이나 자격이 없는 다른 사람의 컴퓨터 및 특정기관의 시스템에 불법적으로 접근하는 사람으로 여겨진다.

학술문헌에서도 해킹(hacking)과 크래킹(cracking)에 대한 상대적 차이를 반영하지 못하고 있으며, 합의된 일관적 정의는 이루어지지 못하고 있다. 예를 들어 심슨(Simpson, 2006)은 해커를 사용 권한 없이 타인이나 특정기관 소유 컴퓨터 시스템이나 네트워크 접속을 시도하는 자로 정의하고, 크래커는 데이터에 해를 가하거나 파괴하려는 의도를 지닌 자로 정의하는 등 상대적 차이를 구분하려는 시도를 하고 있으나, 대다수의 연구자들은 해커와 크래커 모두 해커라는 용어로 지칭하고 있는 실정이다.

본 연구에서 사용하는 해커라는 단어의 의미는 기술적으로 타인의 정보시스템 등에 침입하는 행위를 시도하는 모든 사람을 의미하는 것으로서, 불법적인 의미의 크래커만을 의미하거나 이와 반대되는 좋은 의미만을 뜻하지 않는다.

 

 

참고문헌

Levy, S. (1984). Hackers. Dell, New York.

Simpson, Michael. (2006). Hands-On Ethical Hacking and Network Defense. Thompson, Boston MA.

반응형
Posted by CCIBOMB