Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Malware의 多型(polymorphic) malware의 變型(metamorphic) Warhol worms: 빠른 복제 Flash worms, Slow worms, 등등. Malware에 밝은 미래 악인들에게는 기쁜 소식… …착한 사람들에게는 나쁜 소식 malware 탐지의 미래는? Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 흔적 탐지에 대응하기 위해서 바이러스를 만드는 사람들의 첫번째 반응 多型 웜은 항상 암호화됨 웜이 전파될 때 마다 새로운 키가 사용됨 암호화의 목적은 마스킹(masking) XOR의 반복 웜 본문에는 정해진 흔적이 없다. 웜은 자신을 복호할 코드가 포함되어야 한다. 흔적 탐지는 복호화 코드를 탐색 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 흔적 기반의 방법으로 탐지 가능하다. 하지만 非다형성의 경우보다 더 많은 일이 요구된다. Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 새로운 시스템을 감염시키기 전에 자신을 변형 시킴 그러한 웜은 흔적 기반 탐지를 피할 수 있다. 변형된 웜은 원래 웜과 동일한 일을 수행해야 한다. 그리고 탐지를 피하기 위해 원래 웜과 충분히 구분되어야 한다. 이러한 변형 malware의 탐지는 현재 풀리지 않은 문제 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 복제하는 방법 웜은 disassember된다. 웜은 기본 형태로 분해된다. 코드에 임의의 변형을 첨가한다. 재조정된 jump dead code의 삽입 기타 여러 다른 가능성들 그리고 다시 어셈블(ssemble)한다. 결과는 원본과 동일한 기능을 수행하면서 다른 흔적을 갖고 있다. Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Warhol Worm - 1/2 “미래에는 모든 사람이 15분 동안 세계적으로 유명해 질 것이다.” Andy Warhol Warhol Worm은 15분 만에 전세계 인터넷을 감염시키도록 설계 Slammer는 10분에 250,000 시스템을 감염 대역을 소진 Slammer 는 15분만에 전체 인터넷을 감염시킬 수 없었을 것이다너무 많은 대역폭을 사용 Slammer 보다 더 잘할 수 있을까? Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Warhol Worm - 2/2 Warhol worm의 한 가지 전략 웜 씨앗(Seed worm)을 취약한 IP 주소를 포함하는 초기 hit list에 심어둠 Hit list는 특정 목적에 따름 취약한 시스템을 찾는 Tool들이 존재 초기 감염시킨 각각의 웜은 선택된 IP 주소 공간의 시스템들을 감염 이 정도로 정교한 웜은 아직 발견되지 않았다.(2005년까지는) Slammer는 임의의 IP 주소를 발생하여 감염 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Flash Worm – 1/3 전체 인터넷이 15 min 내에 공격받을 수 있을까? 취약한 IP 주소를 찾는 것은 웜 공격의 속도를 지연시키는 부분이다. 이렇게 찾는 것은 대역을 제한할 수도 있다. Slammer 처럼 “flash worm”은 거의 순간적으로 인터넷을 감염시키도록 설계 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Flash Worm – 2/3 모든 취약한 IP 주소를 미리 결정한다. 특정 공격에 따라 결정된다. 모든 알려진 취약한 주소를 웜에 싣는다. 따라서 거대한 웜이 된다 (아마도 400KB) 웜이 복사될 때마다 자신을 분할한다. 실제적으로 소요되는 시간이 짧고 대역폭의 사용도 적다! Original worm 1st generation 2nd generation Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Flash Worm – 3/3 이상적인 flash worm은 15초에 전세계 인터넷을 감염시킬 수 있다고 추정 인간이 대응할 수 있은 시간보다 훨씬 빠르다. flash worm에 대한 가상의 방어 전략 다수의 “개인 IDS”를 설치 Master IDS는 개인 IDS들을 감시 master IDS가 비정상적인 행위를 감지하면 몇개의 노드에서는 진행을 시키되 나머지 노드에서는 진행을 막음 몇 개의 노드는 희생되더라도 거의 대부분은 공격을 막을 수 있다. Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 기타 공격들 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 기타 공격들 소프트웨어와 관련된 여러가지 공격이 존재한다. 여기서는 앞의 설명에 속하지 않는 몇가지 이슈에 대해 논한다. 살라미 공격(Salami attack) 선형 공격(Linearization attack) 시한 폭탄(Time bomb) Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Salami Attacks – 1/3 살라미 공격이란? 프로그래머가 살라미를 얇게 썰듯이 돈을 빼내감 조각들은 너무 적어서 희생자가 감자하기에 힘들다. 예 은행은 계좌의 이자를 계산한다. 프로그래머는 1 센트의 소수점 이하를 잘라서 자신의 계좌로 옮긴다. 고객은 아무도 이것을 눈치채지 못한다. 은행도 어떤 문제도 발견하지 못한다. 시간이 흐르면 프로그래머는 많은 돈을 벌게 된다! Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Salami Attacks – 2/3 이러한 공격은 내부자에 의해 가능 살라미 공격이 실제로 발생했는가? 프로그래머는 직원 급여의 세금 원천 징수에 몇 센트를 추가 하지만 그 돈은 자신의 과세로 함 프로그래머는 많은 돈을 세금 환급 받는다. 플로리다의 렌터카 회사는 연료 탱크의 용량을 크게 잡아서 고객에게 바가지를 씌움 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware Salami Attacks – 3/3 Taco Bell의 직원은 현금출납기에서 $2.99 짜리 물건이 $0.01로 등록되도록 프로그래밍 직원은 그 물건 하나당 $2.98씩 갈취 살라미를 너무 두껍게 썰었다! LA에서 4명이 실제 넣은 연료 보다 더 많이 청구되도록 컴퓨터 칩을 설치 칩은 5 혹은 10 갤론일 때는 정확하게 청구되도록 프로그램되어 있어 사기를 발견하기가 힘들었다. 조사관들은 일반적으로 5 혹은 10갤론을 넣고 조사를 한다! Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 선형 공격 – 1/4 프로그램은 일련번호 S123N456를 조사한다. 효율성을 위해 한번에 한 글자씩 조사 공격자는 이것을 이용할 수 있을까? Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 선형 공격 – 2/4 올바른 스트링의 검사는 그렇지 않은 것 보다 조사하는데 시간이 더 많이 걸림 공격자는 모든 한 문자 스트링에 대해 시도 S가 시간이 가장 많이 걸리는 것을 발견 다음에는 모든 2 문자 스트링 S에 대해 시도 S1이 가장 시간이 많이 걸리는 것을 발견 이와 같이 계속하면… 공격자는 한번에 한 문자씩 일련 번호를 찾아 나갈 수 있다! Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 선형 공격 – 3/4 한번에 한 문자씩 일련 번호를 공격하는 이점은? 만약 일련 번호가 8 문자로 되어 있다면 각 문자는 128개의 값이 가능 그러면 1288 = 256 개의 가능한 일련 번호가 존재 공격자는 평균 255 번의 시도를 해야 한다. 많은 일! 선형 공격을 사용하면 이 일은 8(128/2) = 29 의 단순한 일이 된다! Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 선형 공격 – 4/4 현실에서의 선형 공격 TENEX (an ancient timeshare system) 암호가 한 번에 한 글자씩 검사된다. 신중한 타이밍은 필요하지 않았다, 대신에… …다음 모르는 글자까지 정확하게 예측되면 “페이지 폴트”됨 이 page fault register는 사용자가 접근할 수 있었다. 공격은 실제로 매우 쉬운 것이었다. Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 시한 폭탄(Time Bomb) 1986년 Donald Gene Burleson는 회사에 자신의 급여에서 원천 징수를 하지 말라고 요구 회사는 이 요구를 거부 그는 회사를 고소하기로 계획 그는 회사 컴퓨터를 법률 문서를 준비하는데 사용 회사는 이것을 발견하고 그를 파면시킴 그는 malware를 만들어서… 그의 소프트웨어 “시한 폭탄”은 회사의 중요한 데이터를 삭제시킴 Chapter 11 Software flaws and malware
Chapter 11 Software flaws and malware 시한 폭탄 회사는 이 사건을 문제화하는 것을 주저했다. 그래서 그는 회사에 체불 급료를 요구! 회사는 비로소 그를 고소 1988년 그는 $11,800의 벌금을 납부 기소(prosecute)하는데 몇 년이 걸림 기소하는데 수천 달러가 소요됨 결과는 약간의 벌금으로 끝남 첫번째 컴퓨터 범죄의 하나 이후 많은 비슷한 유형의 사례가 발생 회사는 보통 고소하는 것을 주저함 Chapter 11 Software flaws and malware