Search
⚙️

작동 원리

graph LR
  ext[확장 프로그램] -.//.-> twitch[Twitch 채팅/알림 서버]
  ext --> chatlink([CHATLink])
  chatlink--> afreeca[아프리카TV/치지직 채팅 서버]
Mermaid
복사
확장 프로그램은 Twitch 채팅과 알림 서버에 연결하여 채팅, 비트 후원, 구독 알림 등을 받습니다. CHATLink는 이를 가로채 아프리카TV 또는 치지직 채팅 서버와 연결하여 아프리카TV 채팅, 별풍선, 구독 또는 치지직 채팅, 후원 알림을 트위치 서버인 것처럼 제공합니다.
먼저, 확장 프로그램이 Twitch 서버가 아닌 CHATLink와 연결하도록 하려면, 즉 *.twitch.tv에 접속할 때 사용자의 컴퓨터(127.0.0.1)와 연결되도록 하려면 twitch.tv와 같은 도메인 주소(호스트 이름)를 127.0.0.1과 같은 IP 주소로 변환하는 과정에 개입하여야 합니다. 이때 사용되는 것이 hosts(호스트) 파일이며, 이를 수정하기 위해서는 관리자 권한이 필요합니다.
또한, 확장 프로그램은 연결한 서버가 Twitch 서버가 맞는지 TLS(SSL) 인증서를 통해 확인합니다. 이때 인증서가 신뢰할 수 있는 인증 기관(CA)에서 발급된 것인지 확인합니다. 따라서 Twitch 서버인 것처럼 가장하려면 가짜 인증 기관을 만들고 이를 신뢰하도록 추가하여야 합니다. 가짜 인증 기관은 사용자의 컴퓨터에서 고유하게 생성되고 개인키는 전송되거나 파일로 기록되지 않아, Twitch 서버에 대한 인증서를 생성한 이후에는 아무도 사용할 수 없습니다. (이에 따라, 해당 인증서에 접근하려면 다른 프로세스의 메모리 또는 파일을 읽을 수 있어야 하는데, 이러한 사용자나 프로그램(악성코드, 바이러스)은 이미 컴퓨터에 저장된 암호, 쿠키 등을 탈취하고 파일을 변경할 수 있습니다.)