Introduction to Network Security
Outline 해킹 동향 사이버 윤리 Attacks, services and mechanisms Security attacks Security services Methods of Defense A model for Internetwork Security Internet standards and RFCs
Hacking 해킹의 정의 원래의 의미 단순히 컴퓨터를 필요할 때만 업무와 관련한 일부분을 사용하는 것이 아니라 컴퓨터 전반에 걸쳐 깊이 배우기를 즐기는 사람 컴퓨터 프로그래밍에 대해 단순 이론을 이야기하기보다 컴퓨터 프로그래밍을 즐기고 열광하는 사람 현재의 의미 시스템의 관리자가 구축해 놓은 보안망을 어떤 목적에서 무력화시켰을 경우 이에 따른 모든 행동 시스템 관리자의 권한을 불법적으로 획득한 경우, 또 이를 악용해 다른 사용자에게 피해를 준 경우
Hacking 해킹의 유형 침입(Intrusion) 불법적으로 시스템 자원을 사용하거나 또 다른 해킹을 위한 경로로 사용하는 행위 서비스 거부(DoS : denial of service) 특정 호스트나 네트워크가 제 기능을 수행하지 못하도록 각종 서비스를 정지시키는 행위 정보 유출 경쟁 기업의 정보를 훔치거나 훔쳐낸 기밀을 외부에 유포하는 행위
Hacking 시스템과 서비스의 설정 취약점을 이용한 공격 파일 시스템의 쓰기 권한 취약점을 이용 SUID (Set User ID) 프로그램의 문제를 이용 기타 환경 변수를 이용 프로그램의 취약점을 이용한 공격 CGI/자바스크립트의 취약점을 이용한 공격 ASP, PHP 스크립트의 취약점을 이용한 공격 버퍼 오버플로우(Buffer Overflow) 공격 힙 오버플로우(Heap Overflow) 공격 레이스 컨디셔닝(Race Conditioning) 공격 포맷 스트링(Format String) 공격 : 컴포넌트 재사용시 발생 프레임 포인터 오버플로우(Frame Pointer Overflow) 공격
Hacking 프로토콜의 취약점을 이용한 공격 악성 코드 DoS 스니핑(Sniffing) 세션 하이재킹(Session Hijacking) 스푸핑(Spoofing) 악성 코드 바이러스 트로이잔 백도어 웜
Virus and Worm What is Virus? Self-replicating code Inserts itself into other executable code Contains a malicious function, called payload (can be empty) Native code which infects executable files Distribution by Email and File sharing Often requires a trigger from a user e.g. execute infected application Virus is often used as a collective term for malware
Trojan Horse A destructive program that masquerades as a benign application. Unlike viruses, Trojan horses do not replicate themselves but they can be just as destructive. A Trojan horse can be deliberately attached to otherwise useful software by a cracker, or it can be spread by tricking users into believing that it is a useful program. The term comes from the a Greek story of the Trojan War
Virus and Worm What is Worm? First Internet worm in 1988 Different to a virus Stand-alone program Does not infect an application Spreads itself through the network automatically Usually spread much faster than viruses Worms often use exploits to propagate SQL Slammer – MS SQL Server Slapper - Apache/Mod-SSL Code Red – MS Internet Information Server
Hacking 해커의 분류 Lamer 해커는 되고 싶지만 경험도 없고 컴퓨터 관련 지식도 많이 없는 해커 Script Kiddie 네트워크와 운영체제에 대한 약간의 기술적인 지식을 갖고 있는 해커 Developed Kiddie 대부분의 해킹 기법을 알고 있는 해커들 보안상의 새로운 취약점을 발견하거나 최근 발견된 취약점을 주어진 상황에 맞게 바꿀 수 없다. Semi Elite 컴퓨터에 대한 포괄적인 지식이 있고 운영체제, 네트워크에 대한 지식도 잘 갖추고 있으며 운영체제에 존재하는 특정 취약점을 알고 이 취약점을 공격할 수 있는 수준 Elite 컴퓨터, 네트워크, 운영체제, 프로그래밍 등 최고 수준의 지식을 갖고 있다. 해킹하고자 하는 시스템의 새로운 취약점을 찾아내고 해킹할 수 최고 수준의 해커.
Hacking 해킹의 역사 태동기(1950~60) : 폰 프리킹이라고 하는 1960년대 말 John Drafer 해킹의 역사 태동기(1950~60) : 폰 프리킹이라고 하는 1960년대 말 공짜로 전화를 걸던 히피세대 대학생. 성장기(1970~80) : 컴퓨터 보급이 확산되고 정보통신망이 발달하자 많은 폰 프리커들이 컴퓨터 해커로 변하였고, 1980년대에서는 수많은 개인용 컴퓨터가 가정, 학교, 사무실에 보급되면서 컴퓨터 해커들의 활동이 본격화
Hacking 해킹의 역사 전환기(1980) : 1980년대 들어오면서 컴퓨터가 널리 보급되고, 해커들이 사회적 비행을 저지르기 시작했다. 탄압기(1990) : 1990년대 들어서면서 크래커의 사회적 비행이 국가 안보를 위협하는 존재로 발전하고 정치적 이념을 가진 핵티비스트(Hacktivist)가 등장했다. 발전기(1990 이후) : 1990년대 후반부터 인터넷이 대중화되면서, 해킹 기술이 급속도로 발전한다.
Hacking 해킹 기법의 변화
Hacking 해킹 기법의 변화 1980년대 사용자 패스워드 추측 공격 인터넷을 기반으로 한 최초의 웜 바이러스 등장 사용자 계정 데이터베이스를 획득하여 사용자 패스워드 크랙 백도어 1990년대 스니핑(Sniffing) 세션 하이재킹(Session Hijecking) 스푸핑(Spoofing) CGI 공격 버퍼 오버플로우 공격(Buffer Overflow Attack) 트로이 목마(Trojan Horse) 서비스 거부 공격(Denial Of Service)
Hacking 해킹 기법의 변화 2000년대 분산 서비스 거부 공격(Distribute Denial Of Service) 분산 반사 서비스 거부 공격(Distributed Reflected Denial Of Service) 웹 해킹
Hacking 해킹 기법의 동향 해킹 기술과 바이러스 기술의 통합 대용량의 네트워크 트래픽을 발생시켜 해당 서버나 라우터, 스위치 등의 네트워크 장비를 마비시켜 특정 서버를 마비시키기는 것이 아니라 해당 네트워크 자체를 마비시키는 형태로 발전 핵티비즘 (hacking + activism) 의 확산 과거에는 단순히 개인적인 목적이었던데 반해 현재는 정치, 사회, 산업, 국가 등의 목적으로 변화
Hacking 해킹 기법의 동향 웜 바이러스 공격 웜과 해킹 기법이 결합된 형태의 공격이 많이 등장 무선 해킹의 등장 최근에 모바일이 급격하게 성장하면서 휴대폰 문자 메시지를 이용한 광고 발송으로 개인 정보 침해가 늘어나고 있다.
사이버 윤리 인터넷에서도 사회 공동체를 구성하는 한 구성원으로서 가져야 할 기본 윤리 컴퓨터 윤리 기관(Computer Ethics Institute)의 윤리 강령 10계명 컴퓨터를 타인을 해치는 데 사용하지 않는다. 타인의 컴퓨터 작업을 방해하지 않는다. 타인의 컴퓨터 파일을 염탐하지 않는다. 컴퓨터를 절도해서 사용하지 않는다. 거짓 증거로 컴퓨터를 사용하지 않는다. 소유권 없는 소프트웨어를 사용하거나 불법 복제하지 않는다. 승인이나 적절한 보상 없이 타인의 컴퓨터를 사용하지 않는다. 타인의 지적 재산권을 침해하지 않는다. 자신이 만든 프로그램이나 시스템으로 인한 사회적 결과에 책임을 진다. 동료를 고려하고 존중하는 방식으로 컴퓨터 사용한다.
사이버 윤리 인터넷 활동 협회(IAB-Internet Activities Board)가 지정한 비윤리적인 행동 고의적으로 허가받지 않고 인터넷 자원에 접근하려는 행위 인터넷의 이용을 막는 행위 의도적으로 시스템과 네트워크의 자원을 낭비하는 행위 컴퓨터 기반 정보의 무결성을 파괴하는 행위 타인의 사생활을 침해하는 행위 인터넷 전반의 실험에 있어서의 과실
사이버 윤리 네티즌 행동 강령 우리는 타인의 인권과 사생활을 존중하고 보호한다. 우리는 건전한 정보를 제공하고 올바르게 사용한다. 우리는 불건전한 정보를 배격하며 유포하지 않는다. 우리는 타인의 정보를 보호하며, 자신의 정보도 철저히 관리한다. 우리는 비속어나 욕설 사용을 자제하고, 바른 언어를 사용한다. 우리는 실명으로 활동하며, 자신의 아이디로 행한 행동에 책임을 진다. 우리는 바이러스 유포나 해킹 등 불법적인 행동을 하지 않는다. 우리는 타인의 지적재산권을 보호하고 존중한다. 우리는 사이버 공간에 대한 자율적 감시와 비판활동에 적극 참여한다. 우리는 네티즌 윤리강령 실천을 통해 건전한 네티즌 문화를 조성한다.
Attacks, Services and Mechanisms Security Attack: Any action that compromises the security of information. Security Mechanism: A mechanism that is designed to detect, prevent, or recover from a security attack. Security Service: A service that enhances the security of data processing systems and information transfers. A security service makes use of one or more security mechanisms.
Security Attacks
Security Attacks Interruption: This is an attack on availability Interception: This is an attack on confidentiality Modification: This is an attack on integrity Fabrication: This is an attack on authenticity
Security Goals Confidentiality Integrity Availability
Passive Attacks (threats) - Release of message contents
Passive Attacks (threats) - Traffic analysis
Active Attacks (threats) - Modification of message contents
Active Attacks (threats) - Replay
Active Attacks (threats) - Masquerade
Active Attacks (threats) - Denial of Service
Security Services Confidentiality (privacy) Authentication (who created or sent the data) Integrity (has not been altered) Non-repudiation (the order is final) Access control (prevent misuse of resources) Availability (permanence, non-erasure) Denial of Service Attacks Virus that deletes files
Methods of Defense Encryption Software Controls (access limitations in a data base, in operating system protect each user from other users) Hardware Controls (smartcard) Policies (frequent changes of passwords) Physical Controls
Internet standards and RFCs The Internet society Internet Architecture Board (IAB) Internet Engineering Task Force (IETF) Internet Engineering Steering Group (IESG)
Internet RFC Publication Process
Recommended Reading Pfleeger, C. Security in Computing. Prentice Hall, 1997. Mel, H.X. Baker, D. Cryptography Decrypted. Addison Wesley, 2001.