이 연구는 IoT 환경에서 공격을 탐지하기 위해 합성곱신경망(CNN)과 트랜스포머를 결합한 하이브리드 딥러닝 모델을 제시합니다. CIC-IoT-2023 데이터셋을 활용한 이 모델은 99.97%의 정확도와 0.0123의 손실이라는 높은 성능 지표를 달성하며 실시간 공격 탐지에서 그 효과를 입증했습니다.
연구 논문
이 연구는 IoT 환경에서 공격을 탐지하기 위해 합성곱신경망(CNN)과 트랜스포머를 결합한 하이브리드 딥러닝 모델을 제시합니다. CIC-IoT-2023 데이터셋을 활용한 이 모델은 99.97%의 정확도와 0.0123의 손실이라는 높은 성능 지표를 달성하며 실시간 공격 탐지에서 그 효과를 입증했습니다.
사물인터넷(IoT) 기기의 급속한 발전은 연결성과 접근성을 향상시켰습니다. 그럼에도 불구하고, 이러한 환경의 상호 연결성이 높아지면서 새로운 위협 수준이 높아지면서 강력한 이상 탐지가 필요합니다. 본 연구에서는 딥러닝을 기반으로 한 새로운 보안 방법을 제시하여 사물인터넷 네트워크와 관련된 특정 위협을 완화합니다. 제안된 접근법은 딥 뉴럴 네트워크를 활용하여 네트워크 활동 패턴을 효율적으로 모니터링하고 실시간 통신에서 잠재적 취약점을 탐지합니다. 본 연구에서는 IoT 네트워크에서 공격 탐지 및 분류를 위한 하이브리드 CNN-트랜스포머 모델을 제안합니다. 이 접근법을 만들고 테스트하기 위해, 우리는 7개의 서로 다른 범주에 걸쳐 33가지 서로 다른 IoT 위협 유형을 포함하는 CIC-IoT-2023 데이터셋을 분석했습니다. 실험 결과는 제안된 모델이 99.96%의 정밀도, 99.96%의 리콜율, 99.96%의 F1 점수, 99.97%의 정확도와 0.0123의 손실로 매우 잘 작동함을 보여줍니다. 더불어, 제안된 모델은 계산 시간과 자원 소모를 기반으로 분석되어, 높은 정확도를 유지하면서도 계산 복잡도를 최소화하면서 공격을 탐지하고 분류하는 데 효과적임을 입증합니다.
사물인터넷 기술은 최근 몇 년간 크게 발전했으며, 우리는 매우 상호 연결된 디지털 세계에 진입했습니다. 현재 의료, 농업, 운송, 항공우주, 생산 등 다양한 산업에서 사물인터넷(IoT) 기기가 사용되고 있습니다. 저명한 전문가들은 사물인터넷(IoT)과 관련 애플리케이션이 2025년까지 세계 경제에 큰 영향을 미칠 것으로 예측하며, 연간 영향은 3.9조 달러에서 11.1조 달러에 이르고있습니다. 반면, 이 완벽한 연결로 인해 새로운 보안 관련 문제도 발생합니다. IoT 기기가 발전함에 따라 사이버 공격에 점점 더 취약해졌고, 이로 인해 무단 접근과 공격을 방지하는 것이 필요해졌습니다. 다양한 기기가 존재하는 환경에서는 어떤 기기가 다른 기기보다 공격에 더 취약합니다. 이 장치들은 사물인터넷(IoT) 시스템의 보안에 영향을 미칠 뿐만 아니라, 시스템에 포함된 전송 채널에도 영향을 미치며, 전송 네트워크가 일부 또는 전체적으로 고장 날 수도 있습니다. 머신러닝(ML)과 딥러닝(DL)은 인공지능(AI)의 두 분야로, 의료 시스템4, 컴퓨터 비전5, 무선 통신6, 네트워크 보안7 등 여러 분야에서 크게 발전한 분야입니다. 이러한 발전은 각자의 기술 발전 덕분에 가능해졌습니다. 사물인터넷과 관련해서는, 딥러닝과 머신러닝 4,5에 의존하는 침입 탐지 시스템을 구축하는 것이 일반적인 관행입니다.
제안된 침입 탐지 시스템은 네트워크 트래픽에서 이상 데이터 흐름을 스캔하고, 최근에 포착된 무해한 정보를 포함한 패킷을 처리합니다. 이를 통해 시스템은 혁신적인 공격을 식별할 수 있습니다. 침입을 감지하기 위해 시그니처 기반과 이상 기반 두 가지 접근법이 사용됩니다. 서명에 의존하는 침입 탐지 방법 중 하나는 네트워크 내 패킷 트래픽을 점검하고, 알려진 공격의 서명으로 지정된 값과 비교하는 것입니다. 이는 네트워크의 취약점을 식별하기 위해 수행됩니다. 이상 현상 기반 방법을 사용하여 사용자가 진짜로 간주하는 매개변수와 이탈하는 사용자 매개변수를 기록하여 공격을 식별합니다. 따라서 공격 탐지를 향상시키기 위해 본 연구는 트랜스포머와 합성곱 신경망(CNN)을 결합한 딥러닝 모델을 도입합니다. 보다 철저한 비선형 표현을 가능하게 하는 다중 공간 특징 부분집합을 만들기 위해, 제안된 모델 내 CNN 성분을 사용하여 원래 데이터를 여러 부분공간으로 변환합니다. 그 후 특징 연관이 최종 확정되고, Transformer 컴포넌트를 사용해 상세한 특징과 같은 더 깊은 특성을 추출합니다. 결국 softmax 함수는 특징과 라벨 간의 관계를 구축합니다. 제안된 접근법은 CNN 접근법과 트랜스포머 모델의 장점을 결합하여 공격 탐지에서 뛰어난 성능을 보입니다.
아래에는 이 연구의 주요 목표가 강조됩니다: (i) 사물인터넷(IoT) 맥락에서 이상 현상을 감지하는 고급 프레임워크를 구축함. 이 프레임워크는 해킹이나 침해된 이기종 사물인터넷(IoT) 장치에서 생성된 악성 정보를 탐지하는 데 도움을 줍니다. (ii) 이 연구는 IoT를 기반으로 이상 현상을 감지하기 위해 데이터셋에서 관련 특성을 추출하는 효과적인 방법을 입증합니다. 이 기법을 이러한 장치에 적용하면 공격 탐지가 더욱 효과적입니다. (iii) 공격을 식별하기 위해, 이 글은 트랜스포머와 CNN을 활용한 적응형 모델을 제시합니다. 이 모델은 네트워크에서 발생하는 사물인터넷 환경으로의 침입을 감지하는 것을 목표로 합니다. (iv) CIC-IoT23 보안 데이터셋을 사용하여 제안된 모델을 테스트하고 검증하기 위해 다중 클래스 분류 기법을 사용합니다. 다중 분류 기법을 사용하여 평가는 IoT 봇넷이 시작한 7가지 공격과 무해한 트래픽을 성공적으로 구분했습니다. (v) 여러 특성을 사용하여 제안된 접근법을 현재의 방법론과 비교한다. 이 비교 조사 결과, 제안된 접근법이 사물인터넷(IoT)에 대한 공격을 식별하는 데 더 우수하고 성공적임을 보여줍니다.
제안된 하이브리드 CNN-트랜스포머 모델은 공간적 특징 추출과 시간적 주의를 결합하여 전통적인 서명 및 이상성 기반 IDS방법보다 일반화와 견고성에 더 적합합니다. 전통적인 ML/DL 방식보다 수작업 피처 엔지니어링이 적어 더 나은 정확도와 호출을 제공합니다. 초기 하이브리드 모델 9,10은 실시간 변화에 적응하지 못했습니다. 제안된 접근법은 경량 아키텍처와 최적화를 사용하여 이를 해결합니다.
빠르게 확장되는 IoT와 관련 보안 문제의 영역은 대규모 침입 탐지 연구를 촉진했습니다. 문헌 검토는 주요 연구 결과와 그 기여에 초점을 맞추어 현재 최첨단 솔루션으로 간주되는 해결책에 대한 보다 심층적인 이해를 제공합니다.
Nandanwar와 Katarya11 은 산업용 사물인터넷(IIoT) 환경에서 봇넷 공격을 탐지 및 분류하기 위해 적응형 CNN-GRU 아키텍처를 활용한 하이브리드 모델을 제안했습니다.
CCIC-IoT2023 데이터셋을 활용해 F1 점수 98.59%, 정확도 98.75%를 기록한 Jony 등은 사이버 공격 패턴을 성공적으로 예측하는 LSTM 기반 모델을 제안했습니다 . 본연구에서는 IoT 네트워크에서 허위 데이터를 탐지하고 제거하기 위한 이진 분류 방법으로 머신러닝 앙상블 전략이 제안되었습니다. 이 모델은 이상 현상을 식별하고 제로데이 공격을 완화하기 위해 그라디언트 부스트 기계 앙상블을 사용합니다. 이 모델은 98.27%의 정확도를 달성했습니다. 또한 정확도와 호출율은 각각 96.40%와 95.70%로 필수 IoT 애플리케이션에 적합합니다. de Caldas Filho 등은 네트워크 기반과 호스트 기반 IDS를 결합한 하이브리드 침입 탐지 시스템(IDS)을 개발했습니다 . 이 통합 침입 대응 시스템(IRS)은 제로데이 위협을 사전에 감지하고 방지합니다. 저자는 또한 딥러닝을 이용해 이상 현상을 식별하기 위해 분산형 연합학습 시스템을 사용했습니다. 딥러닝을 이용한 연합 학습 및 탐지는 분산형 IoT 인프라에서 89.753%의 탐지 정확도를 달성합니다. Wang 등은 시스템 감사 로그의 필요성을 줄인 ThreatInsight라는 위협 탐지 도구를 제시했습니다 . ThreatInsight는 사실 기반 및 의미론적 추론 접근법을 사용하여 공격자를 식별하고 속성을 부여합니다. 분석 보고서를 생성함으로써 이 기술은 사이버보안 보호 시스템의 조기 탐지 능력을 향상시키고 실시간 분석을 제공합니다.
Chai 등은 동적 컨볼루션을 이용해 특징을 적응적으로 추출하고 특성을 분류하는 악성코드 탐지 방법을 제시했습니다 . 저자는 이중 표본 분석을 기반으로 표본 상관관계를 이용해 무관한 특성의 영향을 줄이는 동적 활성화 함수를 제안했습니다. 쿼리 샘플과 프로토타입 간의 거리는 성공적인 악성코드 식별을 위해 메트릭 기반 기법을 사용하여 계산됩니다. 실험 결과에 따르면, 이 방법은 기존의 몇 번 발생하는 악성코드 탐지 알고리즘에 비해 상당한 개선을 보였습니다. Shah 등은 이진 분류를 통해 악의적인 사용자를 탐지하고 블록체인 기술을 활용해 안전한 데이터 저장을 통해 IoT 보안을 강화하는 AI 기반 시스템 모델을 제시합니다 . 딥러닝 알고리즘을 구현해 분류를 위해 블록체인 스마트 계약의 잠재적 악용 사례를 해결하고, 궁극적으로 다양한 성과 지표를 통해 평가되는 포괄적인 보안 프레임워크를 제공합니다.
Luo 등은 사물인터넷(IoT) 응용을 위한 새로운 시스템인 EDL-WADS를 도입했으며 , 이 시스템은 네 가지 모듈로 구성되어 있습니다: URL 요청 표현을 위한 특징 학습 모듈, 다양한 URL 요청 표현을 위한 세 가지 모델로 구성된 딥러닝 모듈, 앙상블 분류기를 이용한 모델 결과를 통합하는 결정 모듈, 그리고 실시간 업데이트를 위한 미세 조정 모듈입니다. EDL-WADS는 다양한 데이터셋에서 99.47% 정확도, 99.29% 진양성률, 99.70% 정확도, 0.0033%의 위양성률로 기저선 모델을 이겼습니다. 한계로는 시스템 내 SQL 인젝션과 사이트 간 스크립팅 탐지에 집중한 점, 그리고 CNN 모델의 낮은 성능이 포함되었습니다.
Tian 등은 URL을 분석하여 웹상의 공격을 감지하는 분산 딥러닝 기반 방법을 제시했습니다 . 엣지 장치에 배포된 이 시스템은 웹 위협을 식별하도록 설계되었습니다. 두 개의 동시 심층 모델이 사용되어 시스템에 대한 실험을 수행했으며, 다양한 데이터셋을 사용해 기존 시스템과 비교했습니다. 이 시스템은 웹 공격 탐지 면에서 99.410% 정확도, 98.91% TPR, 99.55% 정상 요청 탐지율로 경쟁력을 갖추고 있습니다.
Chai 등은 변분 오토인코더를 이용한 분리 학습 방식을 사용하여 재앙적 망각을 줄이고, 클래스 프로토타이핑 기반의 동적 경계 경계 구분 기법을 정확한 결정 경계 구분을 위한 새로운 프레임워크인 MalFSCIL을 제안했습니다. 이 접근법은 오픈 소스 및 기업용 데이터셋에서 다른 악성코드 탐지 및 분류 방법보다 더 우수한 성능을 보입니다. 표 1 9,7,20,21,22,23,24,25,26,27,28,29,30,31,32는 기존 작업에 대한 간략한 검토를 제공합니다.
표 1: ML/DL을 이용한 IoT 공격 탐지에 관한 기존 연구 문헌. 표는 기존 연구를 간략히 검토합니다. 이 표를 다운로드하려면 여기를 클릭해 주세요.
제안된 CNN-트랜스포머 모델은 이전 방법들의 좁은 공격 가능성과 제한된 특징 학습 능력을 직접적으로 해결하기 때문에 IoT 네트워크에 완전한 보안을 제공합니다. 컨볼루션 인코딩과 자기 주의 메커니즘을 결합하면 이전의 CNN 전용10,13 또는 트랜스포머 전용33 방법의 낮은 검출 경계를 제거합니다. 또한, 각 CNN 인코딩 계층에 적용한 구체적인 변경 사항은 도메인 이전을 더 효과적으로 하면서도 학습 시간과 계산 오버헤드를 줄이도록 했습니다. 이러한 개선은 운영 IoT 환경에서 실시간으로 보안 분석을 활용할 수 있게 합니다. 제안된 모델은 새롭고 복잡한 위협으로부터 IoT 생태계를 보호하는 데 큰 진전입니다.
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
이 섹션에서는 IoT 환경에서 공격 탐지 시스템 관련 연구 자료와 방법을 다룹니다. CIC-IoT-2023 데이터셋에서 실험을 재현하기 위해 이 프로토콜은 구체적인 절차를 설명합니다. 이후 재료 표 에는 사용된 모든 하드웨어와 소프트웨어 목록이 포함되어 있습니다. 파이프라인을 구현하는 데 파이썬(pandas, scikit-learn, TensorFlow Keras)이 사용되며, Google Colab에서 실행되고 PySpark가 대용량 파일 전처리를 지원합니다. 데이터 전처리 절차에 대한 자세한 설명이 제공되었습니다.
데이터셋
뉴브런즈윅 대학교 캐나다 사이버보안 연구소에서 발표한 CIC-IoT-2023 데이터셋입니다. "CIC IoT 데이터셋 2023"(UNB CIC 데이터셋 페이지)과 데이터셋기사 34 는 공식 CIC 데이터셋 페이지이자 논문입니다. 이 데이터셋은 CIC 웹사이트에서 다운로드할 수 있으며 일반 대중도 접근할 수 있습니다. 원시 PCAP 대신, 사전 추출된 특징 CSV 파일(플로우/피처)을 이 연구에서 사용합니다. 데이터셋을 생성한 원시 실험에는 Wireshark/머지캡과 CICFlowMeter가 사용되며; 이 작품에는 특집된 CSV가 사용되었습니다. 이 데이터셋은 실제 IoT 기기에서 파생되었으며, 이 연구에 사용됩니다. 데이터 세트에는 105개의 서로 다른 IoT 기기에 대한 33건의 알려진 공격 기록이 포함되어 있습니다. 이전 IoT 데이터셋과 달리 CIC-IoT-2023에는 다양한 공격 유형을 포함하고 있습니다. 양성 트래픽과 연결된 각 라벨의 양은 그림 1에 나와 있습니다. 총 46개의 속성과 1개의 라벨로 이 데이터셋이 구성되어 있습니다. 84개의 기능이 있었던 CSE-CIC-IDS 2018과 비교할 때, CIC-IoT-2023은 37개의 기능이 적습니다.

그림 1: CICIoT2023 데이터셋 내 공격 건수 CICIot2023 데이터셋 내 다양한 유형의 공격과 무해한 기록의 개수명이 설명되어 있습니다. 이러한 다양한 유형의 공격은 대략 7가지 공격 클래스로 분류됩니다. 그래서 총 8개의 클래스가 있으며, 다중 클래스 분류에서는 양성인도 포함됩니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.
데이터 전처리
충분한 전처리 없이 딥러닝 알고리즘에 데이터셋을 활용해서는 안 됩니다. 전처리는 알고리즘에 더 정밀한 데이터를 제공하기 위해 이루어져 궁극적으로 모델을 더 효율적으로 만듭니다. 레이블 인코딩 이후, 특징 확장, 특징 선택 이후의 전처리 파이프라인 출력은 "최종 데이터"라고 불리며 CNN과 트랜스포머 구성 요소 모두에 입력 역할을 합니다. 다음 단계는 구글 콜랩에서 파이썬을 사용해 진행됩니다. 이 연구는 Python 3.8.10, pandas 1.3.4, NumPy 1.21.4, scikit-learn 1.0.2, matplotlib 3.4.3, TensorFlow/Keras 2.6.0을 사용했습니다. 무작위 시드는 모든 플레이에 대해 42로 설정되어 있었습니다.
데이터 수집
이 단계에는 실제 맥락에서 수집한 데이터를 정리하는 작업이 포함되며, 종종 많은 오류와 불일치가 포함되어 있습니다. 예를 들어, 데이터셋에 텍스트 값이 포함되어 있다면, 이를 수치로 변환하지 않고서는 딥러닝 훈련에서 이러한 값을 활용할 수 없습니다. 데이터셋을 다룰 때 가장 먼저 하는 일은 빈 값을 제거하고 데이터가 없는 셀을 삭제하는 것입니다. 모델에 부정적인 영향을 피하기 위해 누락된 행은 제거했습니다.
CIC-IoT-2023 데이터셋은 pd.read_csv('ciciot2023_features_part.csv')를 사용하여 로드됩니다. 이 연구는 모델 학습에 Google Colab을, 초기 정리에는 PySpark를 사용했습니다. 누락을 감지하기 위해 df.shape, df.info(), df.isnull().sum(), df.duplicated().sum(), df.duplicated().sum()를 사용하여 중복 항목을 사용합니다. 중복은 df.drop_duplicates(inplace=True)를 사용하여 제거합니다. 수치 열의 유형은 df[col] = pd.to_numeric(df[col], errors='강제'라는 공식으로 검증됩니다. 새로운 NaN이 나타나면 결석값 처리가 다시 적용됩니다. 일정하거나 거의 일정한 특징은 df.drop(columns=low_variance_cols, inplace=True)을 사용해 제거됩니다.
라벨 인코딩
다음 단계는 텍스트 라벨을 숫자 표현으로 변환하여 모델이 이해할 수 있도록 하는 것입니다. 이진 분류에는 두 가지 별개의 라벨이 있습니다. 총 46,686,579건의 기록이 있으며, 그중 45,588,384건이 악의적 공격으로 분류되어 있습니다. 1,098,195개의 레코드가 포함되어 있으면, 무해한 라벨은 0으로 설정됩니다. 다중 직업 분류에는 일곱 가지 종류의 공격이 있습니다. 총 8개의 라벨이 있으며, 무해한 트래픽도 포함합니다. 그림 2 는 이 라벨들의 각 범주의 수를 보여줍니다. 이 연구에서 사용된 다중 클래스 매핑은 다음과 같습니다: 양성 0, DoS(DoS) 1, DDoS(DDoS) 2, 정찰(recon) 3, 웹 기반 공격(web based attack) 4, 스푸핑(spoofing) 5, 브루트포스(bruteForce) 6, 미라이 공격(mirai attack) 7.

그림 2: 무해한 트래픽을 포함한 공격 클래스의 비율. 다중 직업 분류에는 일곱 가지 종류의 공격이 있습니다. 총 8개의 라벨이 있으며, 무해한 트래픽도 포함합니다. 그림은 각 범주의 개수를 보여줍니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.
기능 스케일링
특징 확장은 딥러닝 모델의 전반적인 성능을 향상시키는 일반적인 방법입니다. 본 연구에서 특징 확장은 최소 최대 스케일러와 표준 스케일러 기술을 사용하여 수행됩니다. 연구에서는 이들을 시험에 사용하지 않았다; 대신 트레이닝 세트의 스케일러만 데이터 유출을 방지했습니다. 표준 스케일러 방법의 도움으로 데이터를 평균이 0이고 표준편차 1인 분포로 정규화할 수 있습니다. 한 가지 방법은 원래 수치를 표준편차로 나누는 것입니다. 이 경우 StandardScaler() 함수는 sklearn.preprocessing에서 StandardScaler를 가져오면 호출됩니다. 0에서 1 사이의 범위를 적용하여 최소 최대 스케일러는 데이터를 정규화합니다. 이를 구현하기 위해 scikit-learn의 MinMaxScaler() 함수를 사용했습니다.
식(1)에 나타난 것처럼, 정규화 공식은 다음과 같습니다:
(1)
X는 원래 점 값을, X정규화된 변환 형태를 나타내며, Xmin은 변수의 가장 낮은 값을, Xmax는 데이터 세트 내에서 변수의 가장 높은 값을 나타냅니다.
특징 선택
대규모 데이터셋의 모든 특성을 훈련에 통합하는 것이 항상 도움이 되는 것은 아닙니다. 데이터셋 내 특징들은 상관관계를 보일 수 있으며 결과를 개선하지 않을 수 있습니다. 더불어, 과도한 가치관은 교육 비용을 증가시킵니다. 필요하지 않은 특징을 찾기 위해 상관 행렬을 계산하고 강한 상관관계가 있는 특징은 데이터셋에서 제외합니다. 두 특징 간의 선형 관계를 정량화하는 피어슨 상관계수를 사용하여 상관관계를 계산합니다. -1에서 +1 사이의 값은 두 변수의 공분산을 표준편차의 곱으로 나누어 얻습니다. 이는 선택 사항이며, 결정 트리 분류기를 이용한 재귀적 특징 제거(RFE)를 통해 파이프라인에서 수행됩니다. 재귀적 특징 제거는 분류기 모델을 훈련시키고 가장 낮은 특징을 버림하여 가장 관련 있는 특징을 반복적으로 찾습니다. 코드는 sklearn.feature_selection의 RFE를 사용하며, 추정기로 결정 트리 분류기를 사용합니다. 재귀적 특징 제거 구현 이후, 표 2에 나타난 대로 7개의 공격 범주별로 46개 특성 중 30개가 선택되었습니다. 특징은 여러 공격 분류로 분류될 수 있습니다. 그림 3에 설명된 과정이 완료된 후, 데이터셋 내에 포함된 공격 클래스를 선택하는 과정이 수행됩니다. 현대 CNN은 원시 데이터로부터 계층적 표현을 학습하는 데 뛰어나지만, RFE를 이용해 소규모의 고품질 특징 세트를 미리 선택하는 것이 상당한 장점을 가지고 있습니다. 첫째, 결정 트리 분류기를 이용한 RFE는 초기 훈련 주기 동안 수렴을 지연시킬 수 있는 잡음이나 중복 데이터를 빠르게 제거합니다. 둘째, CNN을 실제로 가치 있는 신호의 더 작은 풀에 집중시키면 과적합이 줄어들며, 이는 매우 왜곡된 양성 및 해로운 패턴이 있는 IoT 트래픽 데이터셋에서 매우 중요합니다. 의사결정 트리의 재귀적 제거 방법은 모델 설명 가능성을 높이고 도메인 특이적 편향을 식별하기 위해 특징을 순위 매깁니다. 마지막으로, 이 가지치기 특징집합에서 CNN-트랜스포머를 초기화하면 수렴이 더 빠르고 GPU 메모리 사용량이 줄어들며, RFE가 종단 간 특징 학습을 적극적으로 가속화하고 안정화함을 입증합니다.
표 2: 데이터셋 "CIC-IoT-2023"의 선택된 특징들. 이 연구에서 7개 공격 범주 각각에 대해 RFE를 사용해 46가지 특성 중 30개를 선택했습니다. 표는 선정된 30가지 특징을 설명합니다. 이 표를 다운로드하려면 여기를 클릭해 주세요.

그림 3: 제안된 하이브리드 모델의 작동 방식. 과정의 완성 과정은 그림에 설명되어 있습니다. 데이터셋 내에 포함된 공격 클래스를 선택하는 과정이 수행됩니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.
데이터셋을 80% 훈련 세트와 20% 테스트 세트로 나누어 다음 단계를 따르세요: train_test_split (X_train, y_train, test_size=0.20, random_state=42). 80% 훈련 세트는 train_test_split(X_train, y_train, test_size=0.20,random_state=42)를 사용하여 추가로 분할됩니다. 모든 모델 선택과 하이퍼파라미터 튜닝은 이러한 정밀한 분할을 통해 수행됩니다. 합성 소수자 과잉표본법(SMOTE)은 클래스 불균형 문제가 있을 때 사용됩니다. 분할 및 스케일링 후 SMOTE를 적용한 것은 훈련 세트뿐이었습니다. SMOTE의 효과는 결과에 제시되어 있습니다. RFE 이후, 연구는 CNN과 트랜스포머 분기를 평행 분석하여 각 샘플에 선택된 동일한 30가지 특징을 사용한다. 이 30가지 특징을 처리하는 자세한 내용은 제안된 방법론 섹션에 언급되어 있습니다.
제안된 방법론
딥러닝 모델의 도움으로 공격을 보다 정확하게 탐지할 수 있는 효과적인 IoT 시스템 보안 프레임워크가 구축될 것입니다. 합성곱 신경망(CNN)과 트랜스포머 모델을 결합한 하이브리드 보안 전략이 제안됩니다. 이 방법은 더 큰 데이터셋에서 가중치를 사용해 CNN 아키텍처를 훈련한 후, 더 작은 데이터셋을 사용해 모델의 매개변수를 미세 조정하는 것을 목표로 합니다. 이 모델의 주요 목표는 IoT에서 침입 감지의 효율성을 향상시키는 것입니다.
이 연구는 구글 콜랩의 PySpark를 사용했으며, 이 플랫폼은 사용자가 Apache Spark에서 Python 프로그램을 실행할 수 있게 해줍니다. Scikit-learn과 Keras 패키지를 사용하여 딥러닝 알고리즘이 개발되었습니다. 모델을 훈련하고 테스트하기 위해 다음과 같은 구성이 사용되었습니다: 운영체제: Mac OS v12.6; - M2 애플 실리콘; - 13.3인치 디스플레이; - 8코어 CPU; - 8코어 GPU; - 32GB RAM; - 256GB SSD.
캐나다 사이버보안 연구소(CIC)는 실용적인 IoT 환경에서 보안 분석 응용 분야를 발전시키기 위해 포괄적인 IoT 위협 데이터셋을 구축했습니다34. IoT 시스템 내 105대의 연결된 기기 네트워크에 총 33건의 공격이 있었습니다. 총 46,179,314건의 사건 수는 공격을 DDoS, Recon, DoS, 웹 기반, 스푸핑, 무차별 대입 공격과 미라이 7개 그룹으로 분류합니다. 학습 세트에는 37,349,263개의 인스턴스, 테스트 세트에는 8,830,051개의 인스턴스가 있으며, 총 46개의 특성이 데이터셋에 포함되어 있습니다. 모든 경우에 악의적인 IoT 기기들이 다른 IoT 기기를 공격합니다. 총 67대의 IoT 기기와 5개의 허브에 연결된 38대의 Zigbee 및 Z-Wave 기기가 공격의 영향을 받았습니다. 연결된 센서, 카메라, 마이크로컨트롤러, 스마트 홈 기기 네트워크가 구축되어 다양한 유형의 공격을 실행하고 그로 인한 트래픽을 기록할 수 있습니다. Wireshark는 추가 분석을 위해 PCAP 형식으로 네트워크 트래픽을 캡처합니다. 각 실험은 두 개의 데이터 스트림을 저장하기 때문에 머지캡을 사용하여 PCAP 파일을 결합합니다. 오디오 플레이어, 비디오 레코더, 허브, 전원 콘센트, 홈 자동화 시스템, 조명, 센서, 넥스트세대 기기 등 다양한 IoT 기기가 데이터셋을 수집하는 데 사용되었습니다.
이 섹션에서는 연구에 사용되는 여러 순차적 단계로 구성된 상세한 연구 방법론을 제공합니다. 더 나아가, 이 부분은 제안된 알고리즘을 순차적으로 정의하고 연구 과정의 상세한 흐름도를 제공합니다.
CNN
CNN 알고리즘은 인공 신경망, 즉 딥러닝 방식을 사용합니다. 그림 4 는 CNN이 사용하는 기본 알고리즘을 보여줍니다: 완전 연결 층, 풀링, 평탄화, 컨볼루션 등이 모두 그 일부입니다. CNN은 컨볼루션 층 없이는 작동할 수 없습니다. 수신 셀 데이터는 합성 곱 계층에서 처리됩니다.
식(2)에서 출력 부피(Vo)는 P(보폭), Vi(입력 부피), S(컨볼루션 계층 뉴런 커널 크기), M(제로 패딩)에 의해 결정됩니다.
(2)
그 후 합성곱 과정에서 입력값의 특성을 추출하기 위해 필터를 사용합니다. 이 레이어는 특징 지도를 생성합니다. 풀링을 통해 입력 데이터 크기를 줄이면 학습이 간소화되고 계산해야 할 매개변수 수가 줄어듭니다. 풀링 계층은 주어진 크기 내에서 가장 큰 값 또는 값들의 평균을 사용하여 선택할 수 있습니다. 개발된 기법은 두 개의 합성곱 층과 두 개의 풀링 단계를 포함합니다. 특징 추출 과정은 여기서 시작됩니다. 얻은 특징 데이터는 계산을 위해 제공됩니다. CNN 알고리즘은 1차원, 2차원, 3차원으로 제공됩니다. 이 모델은 단일 차원의 합성곱 신경망을 사용했습니다. 분류 영역의 층들은 평평하고 완전 연결된 층으로 알려져 있습니다. 컨볼루션 단계 이후에는 데이터를 평탄화해야 하므로 완전 연결 단계에서 사용할 수 있습니다. 평탄층이 이 과정이 이루어지는 곳입니다. 완전 연결 계층 내에서는 인공 신경망의 전통적인 패러다임이 사용됩니다. 이미지 기반이 아닌 데이터에 CNN을 적용하려면 입력 차원을 변환해야 합니다. 따라서 CNN은 1차원35인 1차원 컨볼루션 층을 사용할 수 있습니다.

그림 4: CNN 기본 알고리즘. CNN 모델의 기본 작동 원리와 구성 요소에 대해 설명한다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.
트랜스포머 학습
더 나아가 추가 실험을 수행하기 위해 트랜스포머 모델링 프레임워크를 활용합니다. 변압기의 자기 주의 메커니즘 덕분에 모델은 시퀀스 내 모든 점을 동시에 처리할 수 있습니다. 그 결과 모델의 학습 시간이 더 빨라지고, 추론과 훈련 중 트랜스포머가 컴퓨터 자원을 더 효율적으로 활용할 수 있습니다. 트랜스포머는 주로 여러 개의 스택된 인코더와 디코더로 구성되어 있습니다. 인코딩 과정은 한 언어를 다른 언어로 바꾸는 것이지만, 디코딩 과정은 이전 출력을 사용해 다른 언어가 발생할 가능성을 판단하는 과정을 포함합니다. 인코더가 주로 특징 추출을 담당하기 때문에, 제안된 모델은 인코더 컴포넌트만 사용합니다. 트랜스포머 인코더는 입력/위치 임베딩, 피드포워드 신경망, 계층 정규화, 다중 헤드 자기 주의, 잔류 네트워크로 구성됩니다.
변환기에서 처리할 입력 데이터를 준비하기 위해 임베딩 레이어를 사용하여 범주 특성을 밀집된 벡터 표현으로 변환합니다. 위치 임베딩은 특징들이 순차적으로 어떻게 연결되는지를 보여주고, 입력 임베딩은 서로 다른 입력들이 공통 공간에서 어떻게 관련되는지를 보여줍니다. 트랜스포머가 범주 특성을 처리하기 전에, 본 연구는 입력 임베딩을 사용하여 특성을 조밀한 벡터로 변환합니다.
주의 메커니즘의 확장인 다중 헤드 자기 주의 메커니즘은 트랜스포머 아키텍처의 기초입니다. 이 연구는 스케일드 점곱을 사용하여 다중 헤드 자기 주의 메커니즘을 활용합니다.
(3)
여기서 쿼리 행렬(Q), 키 행렬(K), 값 행렬(V), 키 행렬 차원(dk)이 각각 표기됩니다. 모델이 각각 다른 부분공간에 매핑된 다양한 특징의 데이터에 집중하여 뚜렷한 주의 값을 생성함으로써, 다중 헤드 스케일드 드점곱 주의 메커니즘은 스케일드 드네트곱 주의 메커니즘과 다릅니다. 각 머리별로 주의 수준을 독립적으로 계산할 때 과적합 가능성이 낮아집니다. 구체적인 표현은 다음과 같습니다:
(4)
(5)
여기서 h는 주의 머리의 수이고, d,v , d는 v와 모델의 차원을 나타냅니다. 또한

다음으로, 레이어 정규화를 사용하여 학습 과정을 안정화합니다. 그라디언트 폭발을 방지하기 위해 레이어 정규화는 각 레이어의 출력을 일정 범위로 제한합니다. 이로 인해 모델의 수렴성과 학습 속도가 향상될 수 있습니다. 배치 정규화는 배치 데이터를 고려하지만, 레이어 정규화는 그렇지 않습니다.
CNN-트랜스포머 제안 모델
이 연구는 IoT 네트워크에서 침입을 감지하기 위한 하이브리드 CNN-트랜스포머 기법을 제공하며, 두 아키텍처의 뚜렷한 이점을 고려합니다. 그림 5 는 제안된 CNN-트랜스포머 하이브리드 기법의 주요 구성 요소를 보여줍니다. 클린, 정규화, 라벨 인코딩, 특징 선택 등 모든 전처리 단계를 수행한 후, 데이터셋 내 각 샘플은 30차원 특징 벡터인 최종 데이터로 표현됩니다. 동일한 최종 데이터가 하이브리드 모델의 두 분기에 병렬로 복제되고 공급됩니다. 그 후 이 최종 데이터는 CNN과 트랜스포머 블록 모두에 동시에 전송됩니다. CNN과 트랜스포머는 서로에 전혀 의존하지 않습니다; 두 가지 모두 같은 입력 데이터를 동시에 처리할 수 있습니다. 두 분기인 CNN과 Transformer의 평탄화된 출력은 결합되어 융합된 특징 벡터를 생성하며, 이 벡터는 조밀한 층으로 전달되어 분류됩니다. CNN 블록은 입력 형태를 (num_features, 1)로 변경하여 특징 차원 전반에 걸쳐 합성곱 연산을 수행하여 국소 공간 패턴을 찾을 수 있게 합니다. 동시에 트랜스포머 분기는 동일한 입력을 순차 형식으로 변환하여 더 높은 차원 임베딩 공간으로 보내고, 이후 위치 인코딩을 진행합니다. 이로 인해 트랜스포머는 특징 공간에서 자기 주의를 기울이며 전역적인 맥락적 관계를 찾을 수 있습니다. 트랜스포머의 독특한 설계는 특징 추출에 사용되며, 시그모이드 함수와 완전 연결된 계층은 특징과 라벨 간의 매핑 연결을 제공합니다. CNN-트랜스포머 모델은 구조적으로 그림 5로 표현되어 있습니다. 그 결과 DDoS, Recon, DoS, Benign, Web 기반, 스푸핑, 브루트 대입, Mirai 등이 포함된 8가지 범주의 공격 분류 시스템이 만들어졌습니다. 제안된 CNN-트랜스포머의 평가 과정은 그림 5에 나와 있습니다.

그림 5: 제안된 모델의 아키텍처. 그림은 제안된 CNN-트랜스포머의 입력 형태와 평가 과정을 보여줍니다. 이 그림의 더 큰 버전을 보시려면 여기를 클릭해 주세요.
64 및 128 단위 필터와 3커널 크기, 두 개의 최대 풀링 계층, 평탄화 단계, 256, 128, 64 단위의 세 개의 조밀한 층, 그리고 세 개의 드롭아웃 계층이 합성곱 신경망(CNN) 계층을 구성합니다.
입력 데이터는 ReLU 활성화 함수, 64개의 필터, 3x3 커널, 1x1 스트라이드가 포함된 1차원 합성곱 레이어를 통해 처리됩니다. 앞선 층 다음에는 풀 크기가 2인 MaxPooling1D 계층이 있습니다. 모델을 더 유연하게 만들고 계산 비용을 줄이기 위해 이 계층은 출력 영역의 공간 차원을 줄입니다. 3층은 또 다른 1차원 합성 합성 계층입니다; 128개의 필터, 세 가지 크기의 커널, 1 보폭, 그리고 ReLU라는 활성화 기능을 갖추고 있습니다. 입력 특성을 추출하기 위해 더 많은 필터를 사용하면, 이 계층은 첫 번째 맥스 풀링 계층과 유사합니다. 첫 번째 층의 출력은 이 기법을 사용해 처리됩니다. 그 후 두 번째 합성곱층 다음에 최대 풀링 층이 추가되었고, 그 풀 크기도 2가 되었다. 이 레이어는 다시 한 번 특징 맵을 다운샘플링하는 데 사용됩니다. 다섯 번째 층은 평탄화 계층으로, 이전 층의 출력을 1차원 벡터로 만듭니다.
얻어진 특징 부분집합은 트랜스포머의 입력이 되기 전 마지막 단계로 입력이 내장됩니다. 또한, 8개의 머리로 이루어진 1차원 벡터인 다중 머리 주의 방식(32키 차원)이 각 머리의 중요성을 평가하는 데 사용됩니다. 다중 헤드 어텐션 레이어는 변압기의 주요 구성 요소입니다. 이 계층은 모델이 다양한 특성의 내장된 표현에서 적응적으로 학습할 수 있게 합니다. 다중 헤드 주의 계층은 여러 개의 자기 주의 헤드로 구성되며, 이를 "스케일드 닷곱 주의"라고도 합니다. 1e-6로 설정한 층 정규화 이후, 목표는 다양한 특성 간의 스케일 불일치를 제거하고 출력 안정성을 보장하는 것입니다. 각 층의 출력을 미리 정해진 범위 내에 유지함으로써, 층 정규화는 그라디언트 폭발 가능성을 줄여줍니다. 트랜스포머 출력 다음에는 평탄화 층이 있는데, 이는 CNN과의 결합을 단순화하여 단일 벡터로 단순화합니다.
다음 단계는 CNN과 트랜스포머의 평탄화된 출력을 결합하는 것입니다. 활성화 함수 "relu", L2 정규화, 그리고 256 단위의 조밀한 층이 평탄층 다음에 나온다. 그 다음에는 0.5 비율의 드롭아웃 층이 이어지는데, 이는 과적합을 방지하는 데 도움을 줍니다. L2 정규화와 "relu" 활성화 함수를 사용한 추가로 128단위 조밀한 층이 이어집니다. 추가 드롭아웃 층에서의 드롭아웃 비율은 0.3입니다. ReLU 활성화 함수, L2 정규화, 그리고 64단위 조밀층이 다음 층을 구성합니다. 다음 층은 0.2 속도 드롭아웃 층으로, 내부의 유닛 중 20%를 무작위로 제거합니다. softmax 활성화 함수를 가진 조밀한 층은 마지막 층의 출력 클래스에 대한 확률 분포를 만듭니다. 이 계층에는 출력 클래스 수만큼이나 유닛이 정확히 수립됩니다.
제안된 모델은 다음과 같이 수치적으로 표현할 수 있습니다:
X를 CNN 입력 데이터로 하자. 여기서 X
R(n×1)은 재형성 후, n은 각각 선택된 특징의 수이다. X는 트랜스포머 블록의 고차원 임베딩 공간 R(n × d_model) 형태에 넣는다. 자기 주의 메커니즘으로 들어가기 전에 위치 부호화가 사용됩니다.
다음은 64개의 필터와 핵 크기가 3인 Conv1D 계층에서의 연산식입니다:
(6)
여기서 Yi,j 는 i번째 필터의 위치 j에서의 출력, k는 크기 3의 핵, b1
R64 는 각 필터의 바이어스 항, Wk 는 필터 가중치, ReLU는 활성화 함수입니다. 다음으로 MaxPooling 계층에 풀 크기를 2로 적용하여 출력 Z1,j가 됩니다.
(7)
모델의 세 번째 계층에는 3커널 크기와 128개의 필터를 가진 추가 ID 컨볼루션 레이어가 포함되어 있습니다; 그 표현식은 다음과 같습니다:
(8)
여기서 k는 크기 3의 핵, b2
R128 은 각 필터의 바이어스 항, ReLU는 활성화 함수입니다. 또 다른 맥스 풀 레이어가 적용되어, 풀 크기가 2인 두 번째 컨볼루션 레이어에서 입력을 얻습니다. 출력 Z2,j 는 다음과 같이 주어집니다:
(9)
다섯 번째 층은 다음과 같이 표현되는 평탄층입니다:
(10)
다음은 임베딩 계층, 다중 헤드 주의 계층, 계층 정규화를 포함하는 트랜스포머 계층입니다
(11)
E는 입력 클래스 라벨 c의 임베딩 벡터이고, We 는 모든 범주에 대한 임베딩 벡터를 포함하는 가중치 행렬이다. 이 방법은 c의 각 정수를 32개의 실수 값 성분으로 이루어진 조밀한 벡터로 사상합니다. 다음은 식(3), (4), (5)에서 표현한 다중 헤드 주의 계층이다.
키 행렬의 크기는 dk = 32이고 차원은 h=8이다. DV 와 D모델은 각각 V와 모델의 치수를 나타냅니다. 또한 
출력 x = 멀티헤드(Q,K,V)에 대해 계층 정규화는 다음을 제공합니다:
(12)
여기서 y는 정규화된 출력이고, γ와 β는 학습 가능한 매개변수이며, μ와σ 2 는 각각 x의 평균과 분산을 나타냅니다. 다음은 트랜스포머의 평탄층으로, 다음과 같이 정의됩니다

모든 층의 끝에서 결과적인 식은 다음과 같이 나타난다.








여기서 Z1
R256, Z2
R128, Z3
R64, Y
R8. 이 하이브리드 모델은 다중 클래스 분류를 위한 손실 함수도 계산하며, 이는 다음과 같이 표현할 수 있습니다

어디:
Yc 는 클래스 cc의 진정한 라벨(원-핫 인코딩)을 나타냅니다.
Y'c는 클래스 c의 예측 확률입니다
제안된 알고리즘은 표 3 에 자세히 설명되어 있습니다.
표 3: 제안된 CNN-트랜스포머 알고리즘. 제안된 알고리즘은 표 3에서 단계별로 설명되어 있습니다. 이 표를 다운로드하려면 여기를 클릭해 주세요.
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
이 섹션에서는 평가 매개변수와 테스트 결과를 함께 제시합니다.
성과 평가 지표
모델의 효과는 여러 정의된 평가 기준을 사용하여 평가할 수 있습니다. 정확도, 회상률, 정밀도, F1 점수, ROC, 혼동 행렬 및 기타 통계 지표는 표 4에 나와 있습니다. 모델의 전반적인 성능에 대한 통찰은 지표를 통해 제공됩니다.
표 4: 성과 평가 지표. 정확성, 회상률, 정확도, F1 점수, ROC, 혼동 행렬 및 기타 통계 지표가 표에 나와 있습니다. 이 표를 다운로드하려면 여기를 클릭해 주세요.
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
CNN-트랜스포머 모델은 CICIoT2023 데이터셋에서 테스트되었으며, 80%는 훈련용, 20%는 테스트용으로 예약되었습니다. 이 모델은 99.97%의 정확도, 99.96%의 F1 점수, 99.97%의 리콜율, 99.96%의 정밀도, 0.0123의 손실을 달성하여 IoT 침입 탐지에 대한 효과성을 확인했습니다. CNN 기반 접근법은 연구 결과13과 유사하며, 네트워크 트래픽 특성 내 작은 공간 패턴을 감지하는 데 능숙합니다; 하지만 장거리 의존성 모델링에서는 종종 제약을 보입니다. 트랜스포머 기반 모델33 은 전역 맥락 링크 추출에 더 뛰어나지만, 단독으로 적용할 경우 계산 비용이 많이 들 수 있습니다. 두 설계의 장점을 결합함으로써, 우리 모델은 검출 성능을 향상시키면서도 계산 효율성을 높였습니다. ROC 곡선은 회상률과 정확도 간의 관계를 보여주었으며, 각 클래스별로 진음성률(T...
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
저자들은 이해 상충을 선언할 필요가 없습니다.
이 연구에 지식과 전문성을 전해주신 가이드 시마 박사님께 특별한 감사와 감사를 표합니다.
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
| 이름 | 회사 | 카탈로그 번호 | 댓글 |
|---|---|---|---|
| 애플 M2 (8코어 CPU) | 사과 | 해당 없음 | (OS)는 딥러닝 프레임워크와 도구가 작동하는 환경을 제공합니다. |
| CICIoT2023 데이터셋 | UNB | https://www.unb.ca/cic/datasets/iot2023.html | 공개 이용 가능한 IoT daset |
| 케라스 2.6.0 | 케라스 | https://keras.io/ | TensorFlow 위에 실행되는 API로, 사용자 친화적인 인터페이스를 제공합니다. |
| MatplotLib 3.4.3 | Matplotlib | https://matplotlib.org/ | 파이썬용 시각화 라이브러리. |
| 넘버피 1.21.4 | 넘피 | https://numpy.org/ | 파이썬을 이용한 과학 컴퓨팅을 위한 기본 패키지 |
| NVIDIA Tesla P100 GPU (16GB VRAM) | 구글 콜라프 프로 | 해당 없음 | 훈련 장비 |
| 판다스 1.3.4 | 팬더 | https://pandas.pydata.org/ | 데이터 분석 및 조작 도구. |
| 파이썬 3.8.10 | 파이썬 소프트웨어 재단 | https://www.python.org/downloads/release/python-3810/ | 방대한 라이브러리와 커뮤니티 지원 덕분에 딥러닝에서 가장 인기 있는 언어입니다. |
| scikit-learn 1.0.2 | 시킷 학습 | https://scikit-learn.org/ | 파이썬용 머신러닝 라이브러리입니다. |
| 씨본 0.11.2 | 씨본 | https://seaborn.pydata.org/ | 통계 데이터 시각화 라이브러리. |
| 시스템 RAM | 해당 없음 | 해당 없음 | 32GB RAM |
| 텐서플로우 2.6.0 | 구글 | https://www.tensorflow.org/ | 포괄적인 도구와 라이브러리로 널리 사용되고 있습니다. |
액세스가 제한되었습니다. 이 콘텐츠를 보려면 로그인하거나 체험판을 시작하세요.
이 JoVE 논문의 텍스트 또는 그림 재사용 허가 요청
허가 요청