랜섬웨어(Ransomeware) 란?


사용자의 피시의 주요 파일을 암호화 하여 해당 파일을 사용 불가하도록 한뒤 해당 파일을 인질로 삼아 돈을 요구하는 형태의 악성코드


중요한 파일을 보관하고 있는 상황에서 해당 공격을 받은경우 해당 파일을 사용할수 없는 심각한 상황을 맞게 된다.


돈을 지불하여도 암호화된 파일을 복구 해준다는 보장도 없고, 백신을 이용해 랜섬웨어를 제거한다고 해도 이미 암호화된 파일은 복원되지 않는다.


암호화된 파일을 복호화 하기 위해서는 암호화 시에 사용한 키가 필요한데 대부분 이 키를 공개하거나 비용을 지불하여도 받을 확률은 거의 없기 때문이다.


최근에는 심지어 한국 피시들을 노리는 번역된 비용 요구 까지 보이고 있어 주의가 필요 하겠다.


---------------------------------------------------------------------------------------------------------


랜섬웨어를 예방하기 위한 방법


- 운영체제 를 비롯한 모든 프로그램의 최신 업데이트

- 백신 은 필수로 사용하고 역시 최신 업데이트 상태를 유지 하며 주기적인 검색 스케쥴 필요

- 광고가 많거나 신뢰도가 떨어지는 사이트는 아예 방문하지 않는게 상책

- 3번의 경우가 불가피 하다면, 주요 공격 방법인 플래쉬 를 끄는것도 방법

- 이도저도 힘들다면 크롬을 사용 (알려진 악성코드는 사전에 차단하여 사이트 접속을 막아줌)

- 수신 메일 확인시 첨부파일 함부로 열어보지 않기 (열어볼필요가 있다면 다운로드후 백신을 통해 검사 한뒤에 확인

- 중요 문서는 수시로 백업하거나 일기전용 혹은 폴더를 보안 구역에 따로 배치( 백신/보안툴 에 기능이 있는 경우)


---------------------------------------------------------------------------------------------------------



여러 방법이 있지만 요즘 잘 안쓰는 플래쉬를 끄는 방법 만으로도 최근 클리앙, 뽐뿌 등 광고를 통한 랜섬웨어 유포에서 조금이나마 안심 할 수 있다.


1. 익스플로러 에서 플래쉬 끄기


- 우측 상단의 톱니바퀴 (익스11) 클릭

- 메뉴중 '추가기능 관리' 선택





-  추가기능 관리 에서 플래쉬 (Shockwave Flash Object) 항목을 클릭하여 선택한뒤 우측 하단의 '사용 안함' 클릭




- 이 후 플래쉬기 필요한경우 다시 플래쉬를 선택한뒤 사용함 클릭해주면 사용할수 있다.




2. 크롬 에서 플래쉬 플러그인 끄기


- 크롬 창을 연뒤에 주소창에 'chrome://plugins' 을 입력 하면 아래와 같은 크롬 플러그인 설정 페이지를 볼수있다.

- 플러그인 중 플래쉬 (Adobe Flash Player) 아래 사용 중지 를 클릭하면 플래쉬 플러그인 사용중지가 가능하다.



 

---------------------------------------------------------------------------------------------------------

3. 안랩 랜섬웨어 무료 복구툴

- CryptXXX 랜섬웨어 부분 복구툴 
: 다운로드 ( cryptxxx_decryptor_3.x.exe ) 


- CryptXXX 랜섬웨어 복구툴
:  다운로드  (cryptxxx_decryptor.exe )









웹서핑이나 메일 등으로 감염 되어 PC 내에 중요 문서를 암호화 하고 암호화 해제를 위해 금전을 요구하는 방식


주의가 필요 하겠다!




출처 : 보호나라 > 오늘의 사이버 위협


개요
  • 국내를 타겟으로 한 랜섬웨어 ‘크립토락커’가 국내 웹사이트에서 유포
  • 랜섬웨어는 사용자의 PC를 감염시켜 중요파일들을 암호화 하여 금전을 요구함

주요내용
  • 국내를 타겟으로 한 랜섬웨어 ‘크립토락커’가 국내 웹사이트에서 유포
  • 랜섬웨어는 사용자의 PC를 감염시켜 중요파일들을 암호화 후 금전을 요구
  • 랜섬웨어는 금전을 지불한다고 하더라도 복호화가 보장되지 않아 사용자의 주의를 요구
                <크립토락커 감염후 금전 요구 메시지 한글버전>


대응방안
  • 크립토락커는 감염되지 않도록 사전예방이 중요
    - 인터넷 익스플로러, 플래쉬 플레이어, 자바 등에 대한 최신 보안업데이트 필요
    사용중인 백신에 대한 최신 업데이트 필요
    - PC내 중요 문서에 대한 백업
    보안업체에서 제공하는 안티 익스플로잇 도구를 활용하는 것도 도움이 될 수 있음


기타 문의사항
  • 한국인터넷진흥원 인터넷침해대응센터: 국번없이 118


관련 기사 : http://www.boannews.com/media/view.asp?idx=46006


암호화와 OLTP 성능 보전 방안

해커에게 고객DB 털렸다면

데이터 암호화후 적절한 조치를 취하지 않을 경우 투명성 및 기능성을 확보하는데 어려움이 따를 수 있다. 적절한 조치를 취하지 않을 경우 발생하는 OLTP 업무 질의의 투명성 및 성능 저하를 살펴보고 이를 극복하기 위해 적용 가능한 방안을 논해 보고자 한다.

데이터베이스 관리자는 데이터가 암호화 된 이후에도 기존의 응용 프로그램을 수정하지 않기를 바라며(투명성), 또한 이러한 응용 프로그램의 성능이 저하되는 것을 원하지 않을 것이다(기능성). 하지만 간단한 데이터를 암호화 하더라도 암호화 값의 이진 속성에 따라 테이블의 정의까지 달라지는 경우가 발생하게 된다.

 

테이블의 암호화를 적용하고 난 이후에 발생하는 성능저하에 대해 많은 DBA들이 한번쯤 고민해 보았을 것이다. 데이터베이스에 암호화를 적용할 때 가장 먼저 거론되는 품질 요소는 성능 보존이라는 것이 많은 조사를 통해 알려진 바 있다. 이번에는 자주 사용되는 OLTP 업무 질의에 암호화를 적용할 경우 발생하는 성능 저하 현상을 살펴보고 이를 극복하기 위한 몇 가지 기법을 제시하고자 한다.

OLTP vs. OLAP

통상적으로 사용되는 ‘OLTP’의 의미는 대다수의 데이터베이스 관리자라면 어느 정도 파악하고 있으리라 믿는다. 하지만 이 기회에 이 둘 사이의 의미를 명확하게 짚고 넘어가는 것도 의미가 있을 것 같아 아래와 같이 정리해 보았다.

사용자 삽입 이미지

OLTP 질의

표 1에서 OLTP 시스템이 가지는 특성을 파악했다. 이런 특성 중에서 암호화와 가장 관련이 깊은 것으로 질의, 데이터 접근, 처리속도 등이 있다. 질의는 소수의 레코드를 반환하는 표준화되고 간단한 것, 데이터 접근은 인덱스를 통한 단일 접근 혹은 범위 스캔, 매우 빠른 처리 속도 등이 있다.

인덱스가 걸린 컬럼이 암호화될 경우 기존의 인덱스는 Drop되며 암호문을 사용하여 다시 생성되어야 한다. 또한 새롭게 생성된 인덱스를 사용하기 위해서는 질의문을 적절하게 변경해 주어야 한다.

OLTP 질의의 Where 조건에 암호화된 컬럼이 사용될 경우 인덱스에 미치는 영향으로 인해 성능에 나쁜 영향이 나타나게 된다. 다음에서는 암호화된 컬럼이 Where 조건에 사용될 경우에 적절한 조치를 취하지 않음으로써 발생하는 성능 저하를 살펴보고자 한다.


사용자 삽입 이미지


인덱스 컬럼의 암호화 및 OLTP 질의 성능

국내에서 암호화 요구가 가장 많이 발생하는 부분은 아무래도 주민등록번호가 아닐까 한다. 또한 주민등록번호를 Where 조건에 추가하여 수행하는 OLTP 업무 질의도 상당히 많은 실정이다.

이번 절에서는 이러한 상황을 재현하기 위한 테이블을 정의하고 이 테이블의 주민등록번호 컬럼을 암호화한다. 이렇게 암호화된 테이블에서 암호화된 주민등록번호를 Where 조건에 주고 질의를 실행함으로써 암호화가 OLTP 질의 성능에 어떤 영향을 끼치는지 살펴보고자 한다.


  • 테이블 정의 : 주민등록번호를 포함한 테이블을 정의한다. 테이블에 10,000 건의 레코드를 추가하여 테스트를 진행했다. 또한 Where 조건에 사용되는 JUMINNUM 컬럼에 인덱스를 생성한다. 그림 1은 테이블에 포함된 레코드의 일부를 나타낸 것이다.
  • 테스트 질의 : 실제 상황을 반영할 수 있도록 주민등록번호가 Where 조건에 포함된 테스트 질의를 사용한다. 아래는 주민등록번호 뒤 7 자리를 ‘x’로 치환하여 보여준 것이며 실행 시에는 실제 값으로 테스트한다.
  • 질의 성능(암호화 미적용) : 그림 2에서 보는 바와 같이 주민등록번호가 인덱스되어 있으므로 빠른 시간 내에(10ms) 결과를 얻을 수 있다.
  • 테이블 암호화 : 그림 2 테이블의 ‘JUMINNUM’ 컬럼을 AES 알고리즘을 사용하여 암호화한다. 이 때 주의할 점은 기존의 인덱스는 삭제된다는 것이다. 그림 3은 암호화된 테이블의 레코드 일부이다.
  • 질의 성능(암호화 적용 후) : 암호화 적용 중 인덱스가 삭제됨에 따라 빠르게 수행되던 질의의 성능이 현저히 저하됨을 알 수 있다(18.95 초). 이는 Table Full Scan을 행함으로써 발생하는 것으로 만약 테이블의 레코드 수가 많다면 현실적으로 암호화를 적용하기 힘들 정도로 수행 성능이 저하될 수 있다.

암호화 인덱스 및 질의 재작성을 통한 성능 보전

앞서 암호화를 적용한 이후에 현저히 저하되는 질의 성능을 확인한 바 있다(10ms -> 18.95s). 이번에는 암호화된 값을 사용하여 인덱스를 생성한 후 생성된 인덱스를 사용하도록 질의를 수정함으로써 성능저하를 방지하는 방법을 살펴보고자 한다. 이런 과정은 아래와 같은 두 개의 단계를 거쳐서 수행된다.

사용자 삽입 이미지

  • 암호화 컬럼에 인덱스 생성 : ‘JUMINNUM_NEW’가 암호화된 컬럼이다.
  • 암호화된 컬럼 인덱스를 사용하도록 질의 재작성 : 암호화된 컬럼에 인덱스를 생성하였으므로 인덱스를 사용할 수 있도록 ‘암호 컬럼’ = 암호화 함수(‘암호값’) 형식으로 질의를 수정함. Select List에는 복호화 함수를 사용하여 암호 값을 복호화 낸 후 결과를 반환하도록 수정. Where 조건과 Select List에 쓰인 암호화/복호화 함수는 제품들마다 독자적인 형식을 지니고 있다. 다음은 암호화 전과 동일한 결과를 표시하는 수정된 질의다.

이렇게 질의를 수정하여 개선된 실행 계획은 그림 6과 같다. 또한 수행 성능도 그림 7과 같이 암호화 이전으로 회복된 것을 확인할 수 있다.


사용자 삽입 이미지

투명성을 보장하는 성능 보전

우리는 앞선 단원에서 암호화된 컬럼에 인덱스를 생성하고 이를 사용하도록 질의를 수정함으로써 OLTP 질의의 성능을 보전할 수 있음을 알았다.

하지만 이 방법을 적용하기 위해서는 질의 수정이 필요하므로 이러한 질의를 사용하는 응용 프로그램 투명성이 심각하게 훼손될 수 있다. 이러한 질의가 다양하고 그 수가 많을 수록 암호화 적용에 많은 시간과 노력이 필요하게 되며 DB 관리자 및 개발자에게 거부감을 주게 되어 결국 실패할 확률이 높아지게 된다.

이번에는 앞서 살펴본 성능 보전 기법의 효과를 살리면서도 응용 프로그램의 투명성을 보장할 수 있는 방안에 대해서 살펴본다.


● 확장 인덱싱 Framework

오라클의 경우에는 기본적으로 제공되는 B-Tree 인덱스 이외에도 사용자가 인덱스의 동작을 재정의하여 사용할 수 있는 확장 인덱싱 Framework를 제공한다. 확장 인덱스 Framework는 세부 내용이 많아 여기에서 모든 내용을 다룰 수는 없지만 중요한 개념을 정리하면 Indextype은 응용 프로그램이 정의한 인덱스 동작 유형을 구현하고 Operator는 적절한 인덱스 유형을 선택하고 인덱스 검색을 수행, 그리고 Domain Index는 indextype의 인스턴스로서 특정한 열에 대해 정의되며 질의 실행 시 Optimizer에 의해 선택된다.

다음 각 단계는 오라클 Optimzer에 의해 Domain Index가 선택되어 성능 향상을 가져오는 단계를 나타낸 것이다.

사용자 삽입 이미지

① 응용 프로그램 투명성 뷰에서 암호화가 적용된 컬럼을 Operator로 구성함.

② 오라클의 Optimizer는 Operator에 대해 Select List에 사용될 때 Functional Evaluation과 Where 조건에 사용될 때 Domain Index Evaluation 등 두 가지 방향으로 해석함.

③ 이에 따라 Operator는 Domain Index Evaluation으로 동작하며 오라클은 Indextype에 구현된 ODCIIndexStart() 함수를 호출함.

④ ODCIIndexStart() 함수 구현 내에서 ‘암호 컬럼’ = 암호화 함수(‘암호값’) 형식으로 수정된 질의를 사용함.

⑤ ODCIIndexFetch() 함수에서 ‘암호 컬럼’ = 암호화 함수(‘암호값’) 형식의 인덱스 Fetch 루틴을 연속적으로 호출함.

다음은 Domain Index 동작을 위한 Indextype 구현의 일부이다.
 

사용자 삽입 이미지

확장 인덱싱 Framework 적용 결과

그림 8, 9는 확장 인덱싱을 적용한 후 원본 질의의 실행 계획을 나타낸 것이다. 확장 인덱싱 적용 후 수행 성능이 암호화 이전으로 회복된 것을 볼 수 있다.


각 운영 환경에 맞도록 적용해야

지금까지 OLTP 환경의 정의 및 응용 프로그램 특성을 간단히 정의하고 암호화를 적용함에 따라 응용 프로그램 투명성 훼손, 질의 성능 저하 등이 발생함을 살펴보았다.

나아가 암호화 이후의 질의 성능 보전을 위한 방법을 살펴보았고 확장 인덱싱 Framework를 사용하여 응용 프로그램 투명성까지 제공할 수 있는 기법을 제시해 보았다.

다양한 데이터베이스 및 응용 프로그램 환경으로 인하여 실제의 암호화 적용은 그리 쉬운 것이 아니다.

위에서 제시한 방법들 이외에도 각각의 운영 환경에 맞는 적용 방법을 관련된 모든 사람들이 머리를 맞대고 고민할 때 잘 보호된 데이터베이스 시스템이 탄생할 수 있을 것이다.


출처 : 보안뉴스 (boannews.com)

'퍼담기' 카테고리의 다른 글

메신져 링크/파일전송 주의하세요  (0) 2010.04.19
Database 암호화  (0) 2010.03.25
블루웹 도메인 가격 정책 변경  (0) 2010.03.12
win7  (0) 2010.03.05

+ Recent posts

티스토리 툴바