다크버트 개인필기(+ 작성 중)

728x90

AI를 쓰는 이유는 시간과 공간의 제약이 없는 일정 수준의 성능이 보장되기 때문이다.
- 전문가보다 더 깊이 있는 지식을 주는 것은 어려우므로 얼마나 더 양질의 데이터를 보유하고 있는지가 중요하다.
> AI의 목표는 전문가에 버금가는 수준에 도달하는 것.


특히 글로벌 비지니스의 경우 인력 기반으로는 즉각 대응이 힘들다.
전문가의 생태에 의존하지 않는 일정한 성능을 낼 수 있다.
- 실제 해외 실리콘밸리의 보안 업체 케이스를 예를 들어, AI가 아닌 사람이 시스템을 관리하게 되면 관리자가 백도어를 통해 유출이 될 가능성이 있다.
    - 즉, 365일 24시간 식사, 수면, 의도 등 관리자의 생태에 의존하지 않는 AI를 사용하는 것이다. 


AI모델. LLM기술

LLM이란 Large Language Model: 거대 언어 모델
> 데이터 기반의 다양한 문제에 공통적으로 적용할 수 있는 기반이 되는 모델.
ex) chatGPT


1) LLM 기술 이전
Unseperviesd Learning: 정답을 특정하기 힘든 경우와 정상적이지 않은 모든 경우를 잡아낸다.
-> 분야에 특화된 AI가 제한적으로 활용됨.


LLM모델에는 대표적으로 chatGPT가 있음.
제일 먼저 따라오는 키워드가 환각(Hallucination)임. 거짓 정보가 있어도 사용자는 곧이 곧대로 믿게됨.
ㅏㅇㄱ의적인 비전문가에세 위험 전보가 전달되기도 한다. (ChatGPT로 만든 악성 프로그램 등)


AI에서의 자연어

- 의사소통의 주요 언어
- 다크웹이란? 인덱싱이 되지 않도 특수 브라우저로만 접근 가능한 웹. (토어브ㅏ우저 i2p freenet) 
다크웹의 데이터량이 너무 많아 사람이 일일이 확인하기 어려움.
카테고리 구분도 힘듦. 웹 페이지 분류를 자연어 처리로 접근하게 되면 
다크웹을 수집하는 크롤러를 만든다. 주석을 통해 데이터셋을 만들고 웹페이지 분류기를 구축해 언어 처리를 진행한다.

소카테고리를 큰 카테고리에 분류할 때 필요한 학습 데이터...
직접 10000개의 웹페이지를 분류해 학습시킴.


TF-IDF의 분석에 카테고리에 따른 특정 단어 언급 빈도 분석.


테슬라, 토요타 -> 마약 관련 용어의 은어.
와사비 -> 가상화폐 지갑(electrum, samurai)


페이지 카테고리 분류는 어떻게?

Bert 모델의 성능이 가장 높았따. 
ㄴ 묵맥을 통째로 벡터화하는 모델이기에 단어를 처리한 뒤 조합하는 것이 아닌 문장 전체를 처리하여 문맥을 고려한다. 
키워드도 문맥을 보면서 유추하기 때문에 다크웹 데이터를 학습한 적이 없지만 어느 정도의 유추 능력이 있다.
여기서, BERT가 다크웹 데이터를 학습한다면?
-> 다음 세션


익명 채널 및 위협 콘텐츠에 특화된 다크웹 언어모델 `darkbert`


언어모델이란 무엇인가?
언어모델이란 사람의 언어를 이해하고 있는 인공지는 프로그램이다.
문장 내 특정 자이레 어떤 단어가 등장할지 확률적으로 알고 있는 프로그램이라고 이해하면 좋다.

Causal language model (GPT0
현재 문장에서 마지막에 이어 등장할 단어를 맞추두록 ㅎ ㅏㄱ습

Masked Language model(BERt)
현재 문장에서 중간에 등장할 단어를 맞히도록 학습

언어모델의 활용
언어모델은 사람의 언어를 이해하려고 방대한 지식을 사전 학습하여 여러 자연어처리 문제 해결 능력이 뛰어나다.

라벨링된 학습 데이터를 언어모델이 아닌 깡통 모델에 학습시키는 것보단, 언어모델에 학습시키면 분류 정확도가 확연히 차이가 난다. - 언어 모델은 이미 사람의 언어와 지식을 학습한 상태임. (이러한 과정을 미세 조정이라고 한다.)

현재 언어 모델은 특정 도메인에 특화되어 있지 않지만
다크웹 언어모델 다크버트는 도메인 특화 언어모델이다.

일반 언어모델에게 은어를 사용하면 이해 X
특정 도메인의 언어모델은 해당 도메인에서 사용하는 은어를 서치했을 경우 이해 O

기존 언어모델을 가져와 특정 도메인 데이터를 추가로 학습하는 것이 포포스트 트레이닝이다.


다크버트에게 락빗, 랭널락커 등을 물어보면 랜섬웨어인 것이라 이해함.
Selling high quality <mask>/ DM for more info. 의 예시

일반 언어모델
제품, 소프트웨어, 책

다ㅡ버트
마약, 계정, 크리넨션 등

- 산다라는 말이 들어가면
다크버트: 초총기 등.


도널드 트럼프의 유형

일반: 대통령
다크버트: 인종차별주의자, 악마 등

의 차이가 있다. 


다크버트의 학습 방법.

bert 대신 RoBERTa(by Meta)를 사용해 다크웹 학습 시작.

학습 데이터
: 자체적인 데이터 수집 시스템으로 영어로 된 것만 언어탐지 모델을 통해 수집).
엔비디아 A100 64기가 여덟개로 15일동안 학습


카테고리 밸런싱

다크웹페이지의 절반은 음란물이므로 분포를 고르게 하기 위해 카테고리 분류기를 활용하여 다량의 음란물 페이지를 제거한다. 
또한 중복 페이지가 많은 해킹 카테고리 데이터 상당수를 제거한다.

논문 관점)

1. Data Filtering
Pretraining corpus를 통해 페이지 삭제, 카테고리 밸런싱, 중복 제거를 진행한다.

- page removal: 중요하지 않은 정보를 담은 페이지는 제외한다.
- category balancing: 어느 한쪽의 카테고리에 치우치지 않게 일정한 비율로 카테고리를 분류한다. 
  ㄴ 다크웹의 경우 포르노그라피 카테고리의 웹 페이지 비율이 압도적이기 때문에 카테고리 밸런식이 반드시 필요하다.
- deduplication: 딥 다크웹 페이지 중 중복되는 페이지를 제거한다. 다크웹 내에서는 실사이트의 미러 페이지(복제 페이지)도 많기 때문에 해당 페이지를 찾아내 제거한다.

이와 같은 필터링 서비스는 s2w 내 별도의 다크웹 수집망 시스템이 구현되어 있으므로, 해당 논문을 시행하기 위해서는 임의의 필터링 서비스를 구현해야한다.

식별장 마스킹
이메일, url, ip주소, 자상화폐 주소 등은 문자열 형태 보다는 식별자의 종류가 중요하다고 가정해 ID_ONION_URL 등 종류로 대체하여 수집한다.

2. PreTraining
데이ㅓㅌ 필터링을 끝냈으면 reBERTa 모델에 준비된 데이터를 학습시킨다. ReBERTa의 경우 이미 위키피디아, 구글 등 학습한 데이터가 존재하는 언어모델이므로 문맥 단위로 데이터를 끊어 이해하고 학습하게 될 것.

두가지 언어 모델 중에서 BERT모델이 선택된 것은 GPT나 다른 모델의 경우 단어 단위로 텍스트를 읽어와 재조립하여 ㅁ운장을 학습하는 방면, BERT 모델의 경우 문장 전체를 처리하여 문맥 자체를 이해하기 때문에 언어모델의 가장 골치 아픈 문제점인 Hallumination(환각) 현상을 최대한 줄일 수 있따.

초기 웹페이지의 카테고리 분류는 사람이 직접 진행하였다. 이후부터는 다크버트가 직접 웹 페이지를 분석하여 언급되는 단어의 비율이나 전체적인 문장들의 문맥을 고려해 카테고리를 분류해준다.

이처럼 특정 도메인을 대상으로 한 언어모델은 다크버트가 처음이 아니다. 타위터를 대상으로 한 언어모델도 있음.
ㄴ 이에 관련해선 사례를 찾아볼 것.

학습에 사용된 데이터 셋은 DUTA와 CoDA가 있다. DUTA는 작은 사이즈의 카테고리까지 세분화된 데이터셋이므로 카테고리 밸런싱이 고르지 않았고, 비어있는 카테고리까지 존재하여 직접 삭제 작업을 진행하였다. 

다크웹 학습 과정
-> 영상의 그림사진 참고.

실험 결과
-> 코다 데이터셋과 똑같은 걸 했지만 단순 버트보다 다크버트가 더 성능이 좋았다.
-> 랜섬웨어 유출사이트를 탐지해서 해당 사이트와 일반 해킹 카테고리 사이트를 분류. 

-> 해킹 포럼 중요 게시물 분류
해킹 포럼의 게시물이 중요 게시물인지 판단. 중요한 거 안중요한거 2진 분류 시스템.
레이드 포럼과 브리치드 포럼을 대상으로 수집.

-> ㅇ위협 키워드 추론.
마약 이름이 언급된 문장에서 이름만 마스킹처리 후 언어모델이 예측하도록 한다. 예측한 단어가 실제로 마약 관려 단어인지 확인하여 결과를 비교. 

기존의 버트만 해도 어느정도의 다크웹 지식이 있어서 그럴듯한 결과를 만들어ㅐㅆ었음.

다크 버트의 적용 사례..


자체 수집망을 통해 수집된 위협 채널 게시물에 대해 다크버트로 개체명 추출 및 위협 스코어링 수해.
단순 정보성 및 구매글은 낮은 점수를 부여하고, 판매 및 공유글(구체적인 데이터가 포함된 경우)에는 높은 점수를 부여한다. 
-> 모디터링 및 분석이 수월해짐.


연구 의의
다크웹을 학습한 최초의 언어모델이라는 연구 성과

다크버트를 가지고 유용한 작업에 활용할 수 있음을 학술적으로 보임.

다크웹 내 발생하는 다양한 범죄 활동을 탐지/분류하고 위협 정보를 추출하는데 이용가능할 거라고 추측.



질문 두가지

- Ai모델의 윤리적인 문제에 대해 s2w가 주의깊게 신경쓰고 있는 것은?

1) 애초에 보안쪽의 회사이기 때문에 윤리적 기준을 엄격히 따르려 노력하고 있다.

어떤 질문에 대한 답변을 낼 때 최대힌 임의로 생성해서 반환하는 것이 아니라 사실에 기반에 근거자료까지 제시하는 방법으로 서비스 운영 계획을 하고 있다.

다크웹은 딱히 정해진 규범이나 제약이 없기 때문에 침해 사고가 숨쉬듯 가능. 혹시나 자료를 학습하는데 흘러들어오지 않도럭 신경쓰고 있다.

제한된 인원만이 다크버트에 관련한 문제를 대응한다.

다크버트가 일반 웹에 있는 데이터도 학습이 되어있나? 
되어있음. 아무것도 모르는 언어모델을 사용한 것이 아닌 로버타를 사용했기 때문이며, 다크웹에는 일반 웹들의 미러 사이트들이 존재한다.


.onion 도메인에 한정해서만 학습했냐

.onion만 일단 다크웹이긴 하지만 해킹포럼 같은 서피스웹도 서치가 힘들어 딥웹으로 분류하고 학습. 국내 onion 사이트는 마약 위주. 한국어로 된 다크버트는 내부적으로 테스트 중이다 <- 저저저저 시켜주세요


최신 업데이트는 아직 예정중에 있으며 업데이트를 하지 않읗 이유는 전혀 없다


이미지 형식의 데이터 학습? - 언어모델은 당연히 텍스트만을 대상으로 학습. 다크웹에서는 이미지 데이터도 중요하나 아직까지는 내부적으로 토론단계에 있다. (멀티모델로 넘어갈 시 가능할수도)

728x90

'Digital Forensic' 카테고리의 다른 글

[기사 스크랩 #1] 다크웹 관련  (0) 2023.06.14