TR 바이너리 옵션의 특징

마지막 업데이트: 2022년 3월 1일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

함수 단위 N-gram 비교를 통한 Spectre 공격 바이너리 식별 방법

Signature-based malicious code detection methods share a common limitation; it is very hard to detect modified malicious codes or new malware utilizing zero-day vulnerabilities. To overcome this limitation, many studies are actively carried out to classify malicious codes using N-gram. Although they can detect malicious codes with high accuracy, it is difficult to identify malicious codes that uses very short codes such as Spectre. We propose a function level N-gram comparison algorithm to effectively identify the Spectre binary. To test the validity of this algorithm, we built N-gram data sets from 165 normal binaries and 25 malignant binaries. When we used Random Forest models, the model performance experiments identified Spectre malicious functions with 99.99% accuracy and its f1-score was 92%.

시그니처 기반 악성코드 탐지는 제로데이 취약점을 이용하거나 변형된 악성코드를 탐지하지 못하는 한계가 있다. 이를 극복하기 위해 N-gram을 이용하여 악성코드를 분류하는 연구들이 활발히 수행되고 있다. 기존 연구들은 높은 정확도로 악성코드를 분류할 수 있지만, Spectre와 같이 짧은 코드로 동작하는 악성코드는 식별하기 어렵다. 따라서 본 논문에서는 Spectre 공격 바이너리를 효과적으로 식별할 수 있도록 함수 단위 N-gram 비교 알고리즘을 제안한다. 본 알고리즘의 유효성을 판단하기 위해 165개의 정상 바이너리와 25개의 악성 바이너리에서 추출한 N-gram 데이터셋을 Random Forest 모델로 학습했다. 모델 성능 실험 결과, 25개의 Spectre 악성 함수의 바이너리를 99.99% 정확도로 식별했으며, f1-score는 92%로 나타났다.

Keywords

시그니처 기반 악성코드 탐지는 알려진 악성코드를 높은 정확도로 탐지할 수 있어 보편적으로 사용되고 있으나, 제로데이 취약점이나 변종과 같이 시그니처가 등록되지 않은 악성코드는 식별하기 어렵다. 또한, Spectre 공격과 같이 시그니처를 추출하기 어려운 악성코드가 등장하면서 시그니처 기반 탐지의 한계점이 더욱 부각되고 있다[1]. Spectre 공격 코드는 정상적인 프로그램과 유사한 형태의 알고리즘으로 구성되어 있으며, 프로세서의 추측 실행 메커니즘의 취약점을 악용하기 때문에 공격 중 시스템에 별다른 흔적을 남기지 않는다. 이에 따라, 현재 안전한 아키텍처를 적용할 수 없는 기존 시스템은 Spectre 공격을 방지하기 위해 이 공격이 악용하는 분기 예측 기능을 제한하는 명령어를 삽입하거나, 정적으로 취약할 수 있는 코드를 식별하여 완화하는 방법을 활용하고 있다. 하지만 이 방법은 많은 성능 저하를 유발한다[2,3].

이 문제를 해결하기 위해 다양한 동적 분석 기반 Spectre 공격 탐지 연구들이 수행되었다[4,5]. 이 연구들은 Spectre 공격 프로세스가 유발하는 고유한 하드웨어 이벤트들을 기반으로 공격 프로세스를 실시간 탐지를 한다. 혹은 기호 실행(symbolic execution)을 바탕으로 Spectre 공격에 악용될 여지가 있는 바이너리를 찾는다. 다만, 이 방법들은 이미 공격이 실행 중일 때 탐지를 하거나, 동적 분석을 기반으로 동작하기 때문에 대규모 파일에서 빠르게 Spectre 공격파일을 탐색하는 것이 사실상 어렵다.

따라서 본 논문은 대규모 파일 검사 시스템 등에서 활용될 수 있는 N-gram[6] 기반 Spectre 악성 바이너리 정적 식별 모델을 제안한다. 이 모델은 N-gram을 통해 분석 대상 바이너리의 opcode 시퀀스를 추출한 뒤, Random Forest 알고리즘을 사용하여 악성 바이너리를 탐지한다. 또한, 탐지 정확도를 높이기 위해 함수 단위로 N-gram 특징을 비교한다.

함수 단위 N-gram 비교는 전체 바이너리를 분석하는 기존의 N-gram 기반 악성코드 분류 방식과 달리, 직접적으로 공격 행위가 구현된 악성 함수만 식별하는데 중점을 둔다[7, 8, 9, 10, 11]. Spectre 악성 바이너리를 탐지하기 위한 바이너리 정적 분석 방법은 찾지 못했기 때문에 우리의 모델은 다른 Spectre 공격 방어연구들이 적용되기 어려운 분야에 활용될 수 있을 것으로 판단된다.

이 방법의 유효성을 검증하기 위해 모델의 탐지 성능 실험을 진행했다. 실험 데이터는 Linux 시스 템에서 사용하는 시스템 명령어 바이너리 165개와 변종을 포함한 Spectre 악성코드 25개를 사용했다. 탐지 실험 결과, 109,079개의 정상 함수와 25개의 Spectre 악성 함수를 99.99%의 정확도로 구분하였다.

II. 관련 연구

2.1 동적분기 예측 추측

실행(speculative execution)은 프로세서가 향후 실행될 것으로 예상하는 명령어를 미리 실행하는 성능 향상 기술이다. 이 기술의 일종인 동적 분 기 예측(dynamic branch prediction)은 분기 예측 유닛(branch prediction unit)에 위치한 BTB(Branch Target Buffer)에 저장된 명령어 실행기록을 바탕으로 분기 명령어의 실행 방향을 예측한다[2]. 2-bit branch prediction 구조를 예로 들면, 한번 실행된 분기 명령어는 BTB에 자신의 주소와 분기하는 목적지 주소(branch target address), 분기 여부 비트(taken/not-taken bit)를 저장한다. 분기 여부 비트는 2 2 개로 구성되며, 이진수로 각각 00(strong not-taken), 01(weakly not-taken), 10(weakly taken), 11(strong taken)이다.

Fig. 1.은 동적분기 예측의 간단한 예시이다. 분 기 명령어가 실행될 때 우선 BTB entry에 해당 분기 명령어의 주소가 있는지 조회한다. 만약 조회에 성공하면 분기 여부 비트를 확인한다. 이때, 분기 여부 비트가 102(weakly taken) 이상이면 이 분기 명령어의 다음 명령어가 분기 대상 주소인 것으로 판단하여, 분기 대상 주소로 jump, 즉 분기 대상 주소의 명령어를 읽어와 미리 실행한다. 반대로 102 미만이면 분기하지 않고 다음 명령어(PC)를 읽어와 실행한다. 분기 명령어가 BTB entry에 조회되지 않는 경우에는 일반적인 경로로 실행한 결과를 토대로 해당 명령어의 주소와 분기 대상 주소를 BTB에 기록한다. 이때 분기 여부 비트는 102으로 기록된다. 이처럼 분기 예측은 조건 분기 명령어의 결과가 결정되는 동안 발생하는 파이프라인의 유휴상태를 최소화하여 프로세서의 전체적인 성능 향상에 기여한다[2,12].

Fig. 1. Branch target buffer example

분기 예측은 때때로 예측에 실패하여 정상적인 경로를 벗어나는 코드를 실행할 수 있다. 따라서 프로세서는 분기 예측 TR 바이너리 옵션의 특징 결과로부터 실행된 코드를 즉시 commit, 즉 레지스터나 메모리를 변경하지 않은 상태로 분기 예측이 시작된 명령어의 결과를 확인한다. 만약, 이 분기 명령어가 분기를 하지 않는 것으로 결정되거나 분기 대상 주소가 틀린 경우에는, 추측 실행한 프로세서 내부 결과를 모두 폐기하고 올바른 경로로 다시 실행한다. 따라서 잘못 예측 실행된 결과는 commit 하지 않고 모두 폐기하므로, 추측 실행된 정보는 모두 사라지는 것으로 알려져 왔다.

2.2 Spectre 공격

P. Kocher 등은 Spectre 공격을 통해 의도적으로 잘못된 분기 예측을 유도한 뒤, 추측 실행된 결과를 캐시 부채널 공격(cache-based side-channel attack)을 통해 유출했다. 캐시 부채널 공격은 공격자가 L3 캐시와 같은 공유 캐시를 조작하여 간접적으로 다른 프로세스의 연산에 사용되고 있는 메모리 값을 유출하는 공격이다. Fig. 2.는 P. Kocher 등이 설명하는 Spectre 유형 1의 개념을 설명하기 위한 코드 예시이다.

Fig. 2. Example code to explain spectre v1.

Fig. 2.의 spectre_v1_vulnerable_function 함수는 일반적인 조건문을 포함하는 함수이다. line 15의 조건문은 offset이 arr1의 길이보다 작은 경우에만 data를 읽어온다. 이 조건을 만족하지 못하 면 data에는 접근할 수 없다. 하지만 Spectre 공격은 프로세서의 추측 실행을 악용하여 data 배열의 크기(data->length)를 넘어서는 위치의 값을 읽을 수 있다. 이 과정은 다음과 같다.

1. 공격자는 공격 함수(spectre_v1_vulnerable_ function) 안에 위치한 조건문(line 15)을 만족하는 offset 값을 반복적으로 제공한다. 이 과정에서 해당 조건문의 분기 명령어는 BTB에 strong taken 상태로 기록된다.

2. 조건문이 실행되기 전에 offset을 임의의 값으로 변경한다. 이후 clflush(Cache Line Flush) 명령어를 사용하여 arr1->length와 arr2->data를 모든 계층의 캐시 라인에서 제거한다.

3. line 15에서 조건 검사가 수행될 때, offset은 (2)과정에서 캐시되었으므로 프로세서가 빠른 속도로 읽을 수 있다. 반면, arr1->length는 (2) 과정을 통해 캐시에서 제거되었기 때문에 프로세서는 메모리로부터 데이터를 요청한다. 이는 일반적으로 수백 사이클이 소요된다.

4. 프로세서는 수백 사이클을 대기하는 대신 BTB에 기록된 과거 실행기록을 바탕으로 분기 명령어의 목적지를 추측한다. 이때, 해당 조건문(line 15)의 분기 대상 주소인 line 16의 시작 주소는 strong taken 상태로 기록되어 있다. 따라서 line 16과 18은 추측 실행된다.

5. 추측 실행 도중, line 18의 temp = arr2->data[secret * 4096]의 arr2->data는 캐시 미스가 발생한다. 따라서 메모리로부터 데이터를 읽어오며, 이 데이터는 L1 캐시에 적재된다.

6. 프로세서는 잘못된 분기 예측을 인지하고 arr->data를 비롯한 정보들을 제거하지만, 캐시에 적재된 data는 온전히 남는다. 따라서 공격자는 캐시 부채널 공격을 수행하여 이 데이터를 유출할 수 있다.

이처럼, Spectre 공격은 분기 예측의 취약점을 악용하면 배열의 경계를 넘는 비밀 값을 읽거나 공유 라이브러리 내부의 gadget을 이용하여 다른 프로세스의 메모리를 유출하는 공격이 가능하다[1]. 따라서 이 공격에 대응하기 위해 새로운 아키텍처가 설계되는 등 다양한 완화 패치들이 공개되었다[3, 13, 14]. 본 논문은 하드웨어적인 패치를 적용할 수 없는 기성 시스템에서의 완화 패치에 대해 중점적으로 설명한다.

2.3 기존 시스템에 대한 Spectre 공격 완화 패치

Microsoft Visual C/C++ 컴파일러는 Spectre 공격 코드로 의심되는 조건 분기에 lfence 명령어를 삽입하여 Spectre 유형 1을 완화한다. lfence 명령어는 병렬로 실행 중인 모든 명령어가 완료될 때까지 실행되지 않는다. 따라서 잘못된 분기 예측으로부터 발생할 수 있는 Spectre 공격을 방지 할 수 있다[14]. Fig. 3.의 하단은 qspectre 옵션이 적용된 상태에서 컴파일된 Spectre 유형 1의 실행 코드이다. line 4에 lfence 명령어가 있기 때문에 line 3의 분기는 추측 실행되지 않는다.

Fig. 3. Binary with qspectre option applied.

다만, G. Wang 등의 연구에 의하면 qspectre 옵션은 P. Kocher가 제시한 15가지 Spectre 공격 유형 중 단 2개만 완화할 수 있다. 또한 lfence 명령어는 분기 예측의 이점을 포기하기 때문에 이 옵션이 적용된 프로그램은 많은 성능 저하가 우려된다 [15,16].

Linux 커널은 lfence 명령어를 커널의 주요 부분에 삽입하여 Spectre 유형 1을 완화했다. 또한 지속적으로 보고되고 있는 Spectre 변종 유형을 방지하기 위해 retpoline과 같은 대응 패치를 지속적으로 적용하고 있다[3,13]. 하지만 이 패치들은 N. A. Simakov 등의 응용 프로그래밍 성능 평가 실험에서 평균 2~3%의 성능 오버헤드를 유발하는 것으로 측정되었으며, 일부 구간에서는 오버헤드가 74%에 달하는 것으로 나타났다[17].

이러한 성능 오버헤드를 피하기 위해 Spectre 공격을 탐지하는 다양한 연구들이 수행되었다[4, 5, 16]. M. Mushtaq 등은 프로세서의 특수 목적 레지스터인 HPC(Hardware Performance Counter)를 이용하여 캐시 부채널 공격의 이벤트를 높은 정확도로 동적 탐지하는 도구인 WHISPER를 제안했다. Spectre 공격은 캐시 부채널 공격을 통해 최종적으로 데이터를 유출하기 때문에 WHISPER는 Spectre 공격을 99% 이상의 정확도로 탐지했다[4]. 다만, 동적 탐지는 효과적으로 Spectre 공격을 감지할 수 있지만, 실시간으로 모든 프로세스를 감시해야 하기 때문에 오버헤드가 발생한다. 또한 오탐지의 위험 때문에 프로세스를 강제로 종료하는 등 강력한 조치를 취하기 어렵다는 단점이 있다.

M. Guarnieri 등은 기호 실행 기반 동적 바이너리 분석을 수행하여 잘못된 추측 실행을 유발할 수 있는 분기 명령어를 바이너리 수준에서 탐지하는 SPECTECTOR를 제안했다[5]. 이 도구는 qspectre에 비해 더 다양한 변종을 탐지할 수 있다. 하지만 Z3 기호 실행 엔진과 Ciao 언어를 기반으로 동작하기 때문에 분석 대상이 커질수록 분석이 완료되지 못할 가능성이 발생하며, 반드시 Ciao 언어를 위한 환경이 구축되어야 하는 단점이 있다.

G. Wang 등은 Spectre 바이너리를 안전하게 패치하는 도구인 oo7을 제안했다. 이 도구는 바이너 리 분석을 통해 잠재적으로 Spectre 공격에 취약한 분기 명령어들을 찾은 뒤, 적절한 위치에 lfence 명령어를 삽입하여 5.7%의 오버헤드로 취약한 바이너리를 패치한다[16]. 하지만 이 도구는 일부 Spectre 변종만 식별할 수 있으며, 대상 바이너리를 직접 수정하기 때문에 프로그램의 무결성이 훼손되는 문제가 있다.

2.4 N-gram 기반 악성코드 분석

N-gram은 문자열의 유사도를 도출할 수 있는 알고리즘으로써 악성코드 식별 및 패밀리 분류 분야에 서 활발히 사용되고 있다[7, 8, 9, 10, 11]. 관련 연구들은 Fig. 4와 같이 분석 대상 바이너리의 바이트 스트림에서 API 호출 순서, opcode, 문자열 정보 등의 특징 정보를 N-gram을 통해 추출한다. 이 후 추출한 특징 정보를 바탕으로 양성 및 악성 여부를 식별하거나 악성코드 패밀리를 분류한다.

Fig. 4. Example of N-gram (N=2)

I. Santos 등은 기존의 악성코드들을 시그니처 기반으로 탐지했을 때, 변종이나 바이너리 난독화와 같은 우회 기법에 대응하기 어려운 점을 지적하며 N-gram 기반 악성코드 분류기법을 제안했다[7]. S. Jain 등은 양성 및 악성 바이너리의 특징 정보를 N-gram으로 추출한 뒤, 랜덤 포레스트 모델을 사용하여 99%의 정확도로 악성 바이너리를 식별했다[8].

또한 E. Raff 등은 N-gram이 더 높은 정확도를 얻을 수 있도록 개선하는 다중 바이트 식별 기법을 고안하여 N-gram을 이용한 악성코드 분류의 정확도를 향상시켰다[9]. A. Pektas 등은 n의 크기가 3 또는 4일 때 가장 악성코드를 잘 분류할 수 있음을 실험적으로 보였으며, B. Kang 등은 악성 안드로이드 app을 N-gram과 머신러닝을 사용하여 98% 정확도로 분류할 수 있음을 보였다[10,11]

III. 함수단위 TR 바이너리 옵션의 특징 N-gram 기반 Spectre 탐지 방안

3.1 기존 연구들의 한계점

N-gram 기반 정적 분석 도구들을 악성코드를 98% 이상의 높은 정확도로 분류했다. 하지만 Spectre 공격 코드는 기존 악성코드와 다른 특징을 보인다. Fig. 3.의 상단 C 코드는 Spectre 유형 1의 핵심 공격 함수이다. 2.2절에서 설명한 것과 같이 Spectre 공격은 이 함수의 내부 분기문 (if x < array)의 분기 여부 비트를 strong taken 상태로 조작한다. 이후 x의 값에 array의 크기를 초과하는 값을 전달하여 잘못된 추측 실행을 유도한 뒤, 캐시 부채널 공격을 수행하여 array[x]의 데이터를 유출한다.

이처럼, Spectre 공격 코드는 기존 악성코드들에게 나타나는 C&C(Command & Control) 서버와의 통신이나 수상한 파일을 쓰는 등의 패턴들이 나타나지 않는다. 따라서 지금까지 알려진 악성코드 분석 방법으로는 Spectre 공격코드를 탐지하기 어렵다. 또한 핵심 공격함수를 포함하여 전체적인 코드가 정상적인 프로그램과 유사한 형태의 알고리즘으로 구성되기 때문에 더욱 탐지하기 어렵다.

3.2 함수 단위 식별

Spectre 공격 코드의 핵심 공격 함수는 매우 짧은 바이너리로 구성된다. 우리가 조사한 Spectre 공격 코드의 경우, 전체 바이너리 대비 공격 함수 바이너리의 비율이 0.18%로 나타났다. 또한 바이너리는 동적으로 매핑되는 공유 라이브러리나 파일 형식을 유지하기 위한 정보들이 포함되기 때문에 프로그램의 성격과 다른 바이너리들이 다수 포함된다. 따라서 바이너리 전체를 비교하는 기존 연구들의 접근 방법은 길이가 짧은 Spectre 공격 함수의 바이너리를 찾기가 어렵다.

이 문제를 해결하기 위해 우리는 함수 단위 N-gram 비교 기법을 제안한다. 이 기법은 분석 대상의 바이너리를 함수 단위로 분리한 뒤, 각 함수를 하나의 분석 대상으로 취급한다. 이 방법은 공격 함 수의 바이너리에서 추출한 N-gram 특징을 기억한 뒤, 다른 함수들과 비교하여 탐색하기 때문에 짧은 길이의 함수도 효과적으로 탐지할 수 있다.

N-gram 유사도를 이용하여 악성 함수를 분류하기 위해서는 임계값을 설정해야 한다. 하지만 임계값은 과적합 문제가 발생하여 실험에 사용한 데이터 셋 에서만 높은 정확도를 보일 수 있다. 이 문제를 해결하기 위해 우리는 머신러닝 알고리즘 중 하나인 Random Forest 모델을 사용했다. N-gram 특징은 머신러닝 모델이 악성 및 양성 여부를 판단하기 위한 근거 자료로 사용되며, 최종적인 유사성 판단은 Random Forest 모델이 담당한다. RandomForest 모델을 선택한 자세한 내용은 4장에서 설명한다.

3.3 학습 데이터 구축

모델 학습을 위해 수집한 양성 데이터셋은 Ubuntu 16.04 LTS에 기본적으로 설치되는 sbin 폴더의 165개 실행 파일이다. 이 실행 파일에서 정상 함수 109,079개를 추출했다. 악성 데이터셋은 GitHub 등에서 수집한 10개의 Spectre 유형 1, 유형 2 및 P. Kocher가 제시한 15개 Spectre 유형 1이다[15]. 이 중 식별된 악성 함수는 25개이다.

더 다양한 변종과 악성 바이너리를 수집하지 못한 이유는 제안하는 모델의 정확한 성능 검증을 위해 명확히 Spectre 공격 코드로 식별되는 데이터만 수집했기 때문이다. 즉, 악성코드 데이터베이스 등에서 공유되는 Spectre 바이너리는 유형 식별 및 오탐지 여부를 확인하기 어렵기 때문에 코드가 공개된 데이터만 수집했다. Table 1.은 양성 및 악성 데이터의 개수와 전체 데이터에서 차지하는 비율을 정리한 것이다.

Table 1. Malicious and normal dataset

악성 함수 식별 및 라벨 지정은 오픈소스 역공학 프레임워크인 radare2[18]를 사용했다. 이 도구는 다양한 파일 유형과 아키텍처의 바이너리에 대한 여러 가지 분석을 제공한다. 우리는 이 도구를 사용하여 심볼 테이블을 제거한 상태로 컴파일한 바이너리와 원본 코드를 대조하여 악성 함수를 특정하고 라벨을 지정했다.

라벨을 지정한 악성 함수는 radare2 스크립트를 사용하여 opcode N-gram 시그니처를 추출했다. radare2 스크립트는 radare2의 기능을 코드로 작성하여 활용할 수 있는 지원이다. 이후 추출된 시그니처를 분석하여 공통적으로 나타나는 상위 33개 N-gram 패턴을 피처로 선정했다. 33개를 선정한 이유는 이 패턴들이 모든 악성 함수에 대해 1개 이상 포함되었기 때문이며, 그 이상부터는 포함되지 않는 함수가 많아진다. 피처의 개수는 악성 함수의 특성에 따라 변경될 수 있다.

3.4 제안하는 모델

Fig. 5.는 제안하는 탐지 모델을 구축하는 과정을 보여준다. 그 과정은 다음과 같다.

Fig. 5. Overview of the proposed system.

1. 분석할 파일에서 바이너리를 함수 단위로 추출한다. 이때 바이너리 난독화 문제가 해결된 상태라 고 가정한다.

2. N-gram 알고리즘을 사용하여 각 함수의 opcode 패턴을 추출한다.

3. 정적 분석을 수행하여 악성 함수에 라벨을 부여한다.

4. 수집한 악성 라벨 함수의 N-gram 패턴 중 상위 33개의 패턴을 피처로 사용하여 정상 함수의 N-gram 데이터를 추출한다. 피처는 사용하는 데이터셋에 따라 유동적이다.

5. 수집한 데이터셋을 사용하여 Random Forest 모델을 학습한다.

6. 과정 (5)에서 학습한 모델을 사용하여 Spectre 공격 함수가 포함된 바이너리를 식별한다.

IV. 실험

구성한 데이터셋을 바탕으로 모델을 학습하고 성능 평가를 수행했다. 이 과정에서 악성 함수 분류에 가장 적합한 모델을 찾고, 모델의 정확도를 높이기 위해 최적 n 선정 및 데이터 오버 샘플링 알고리즘을 적용했다. 모델 학습에 사용한 학습 데이터와 테스트 데이터의 비율은 6:4이다.

4.1 최적 모델 선택

최적 머신러닝 알고리즘을 선택하기 위해 SVM(Support Vector Machine), KNN(K-Nearest Neighbor), Random Forest 모델을 각각 학습한 뒤, 분류 성능 실험을 진행했다. 성능 실험 결과, Random Foreset 알고리즘을 사용한 모델이 99%의 정확도로 가장 좋은 성능을 보였다. 각 모델의 성능 지표 기반 AUC(Area Under Curve)는 Fig. 6.과 같다.

Fig. 6. Auc graph of model

N-gram은 데이터 셋의 특성과 n 값의 변화에 따라 많은 차이를 보인다[9]. 따라서 수집한 데이터 셋 에 적합한 n 값을 찾기 위해 n이 2, 3, 4인 경우에서 모델의 정확도를 측정했다. 이때 실험 데이터의 편중을 막기 위해 10번의 교차 검증을 수행했다. 실험 결과, n=2인 경우에서 precision과 recall이 각각 100%와 82%를 보이며 가장 좋은 결과를 보였다(Table 2). mov 및 add처럼 opcode는 짧은 sequence로 의미를 표현하기 때문에 낮은 n에서 우수한 성능을 보인 것으로 판단된다.

Table 2. Confusion matrix according to n

여기서 precision은 모델이 True라고 분류한 것 중에서 실제 라벨이 True인 비율이며, recall은 실제 True 라벨들 중 모델이 True라고 예측한 비율이다. 이 결과는 n=2일 때, 테스트 데이터로 분류된 10개의 악성 함수 중 2개를 탐지하지 못했다는 것을 의미한다. 이러한 미탐지(false negative)가 발생하는 이유는 악성 함수의 개수가 부족하여 학습에 사용되지 못한 악성 함수가 테스트 데이터로 분류되었기 때문으로 보인다. 하지만 precision이 100%인 것으로 미루어 볼 때, 학습한 데이터에 대한 분류 정확도는 우수한 것으로 판단된다.

4.2 데이터 오버 샘플링

데이터 셋의 불균형은 머신러닝 모델의 성능을 저하시킬 수 있다. 실험에 사용한 데이터 셋은 Table 1.과 같이 불균형 데이터이다. Random Forest 모델은 학습 과정에서 데이터의 클래스 간 분포를 고려하지 않기 때문에 데이터 셋의 균형이 맞지 않으면 분류 성능에 악영향을 미칠 수 있다[19].

이 문제를 해결하기 위해 오버샘플링 알고리즘인 SMOTE(Synthetic Minority Over-sampling TEchnique)를 사용했다[20]. 오버샘플링은 데이터의 클래스간 불균형을 해결하기 위한 기법 중 하나이다. 불균형 데이터를 KNN 알고리즘을 통해 분석하고, 기존 클래스의 범위를 넘어서지 않는 새로운 데이터를 생성한다. 이 기법은 단순하게 데이터를 복제하는 것과 달리 생성된 데이터가 기존 클래스의 성향을 따르기 때문에 원본 데이터 셋의 성질을 유지할 수 있다.

Table 3은 오버 샘플링을 적용하기 전과 후의 Random Forest 모델의 성능지표이다. 오버 샘플 링을 적용한 후 Recall 지표가 10%만큼 크게 향상되었으며, 그에 따라 F1-score도 6% 향상되었다. 즉, 10개의 악성 함수 중 1개만 탐지하지 못했다. 이에 따라, Accuracy도 0.1% 향상되었다.

Table 3. Confusion matrix after over-sampling

V. 한계점

본 논문에서 제안하는 것은 동적 분석이 활용되기 어려운 파일 분석 분야에 활용될 수 있는 Spectre 바이너리 탐지 시스템이다. 이 시스템이 실질적으로 활용되기 위해서는 더 다양한 Spectre 변종을 탐지할 수 있어야 한다. 현재는 Spectre 유형 1과 2에 대해서만 탐지가 가능하다. 따라서 더 다양한 변종 코드를 학습시켜야 한다.

또한 일부 Spectre 코드는 핵심 공격 함수가 여러 함수로 분할되어 있는 경우가 있다. 이러한 경우에 분할된 각 함수를 악성으로 탐지할 것인지에 대한 연구가 필요하다. 마지막으로, 난독화된 바이너리에 대한 대응이 마련되어야 한다. 제안하는 시스템은 radare2 역공학 프레임워크를 기반으로 동작하기 때문에 난독화된 바이너리는 정확히 공격함수를 추출하는 것이 어렵다. 따라서 이 문제를 해결하기 위한 추가적인 연구가 수행되어야 한다.

VI. 결론

본 논문은 짧은 바이너리를 효과적으로 탐지할 수 있는 함수 단위 N-gram 비교 기법을 제안했다. 제안한 모델의 정확도를 109,079개의 정상 함수와 25개의 Spectre 악성 함수를 통해 검증한 결과, 악성 함수의 바이너리를 99.99%의 정확도로 탐지할 수 있었다. 따라서 기존 AV 엔진과 같은 대규모 바이너리 검사 시스템과에 우리의 모델을 적용하면, Spectre 공격으로부터 시스템을 더 안전하게 보호할 수 있을 것으로 기대한다.

다만, 현재 모델은 바이너리 난독화를 비롯한 정적 분석 방지 기술이 적용된 Spectre 악성코드는 식별할 수 없다. 또한 지금까지 밝혀진 모든 Spectre 변종을 탐지하지는 못한다. 따라서 향후 연구로는 위 문제를 해결할 수 있는 새로운 기법을 개발하고, Spectre 공격뿐만 아니라 백도어나 overflow 공격 등에 취약한 바이너리도 탐지할 수 있도록 확장하고자 한다.

Acknowledgement

이 성과는 2020년도 정부(과학기술정보통신부)의 재원으로 한국연구재단의 지원을 받아 수행된 연구임(NRF-2018R1A4A1025632).

대한민국 최고의 바이너리 옵션 브로커 (2022)

한국에 살고 있고 최고의 바이너리 옵션 브로커를 찾고 있다면 제대로 찾아오셨습니다. 이 나라에서 바이너리 옵션은 완벽하게 합법이지만 불행히도 법으로 제대로 규제되지 않습니다. 이 시장에서는 거의 모든 중개인이 서비스를 제공할 수 있으며 이는 많은 부정직한 중개인을 쉽게 찾을 수 있음을 의미합니다. 그래서 우리는 선택을 더 쉽게 하기로 결정하고 한국 클라이언트를 허용하는 권장 바이너리 옵션 브로커 목록을 작성했습니다. 아래 나열된 플랫폼 중 하나가 마음에 들면 완전 무료 데모 계정을 열 수 있습니다.

빠른 선택:

  • 96% 최대 이익
  • $50 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 바이너리 TR 바이너리 옵션의 특징 옵션, Forex, CFD
  • Copy Trading, 신호, 보너스

IQ Option

  • 95% 최대 이익
  • $10 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 바이너리 옵션, Forex, CFD, FX 옵션, 주식
  • 대회

  • 93% 최대 이익
  • $10 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 바이너리 옵션, Forex, CFD
  • 신호, 보너스

비 노모 거래

  • 90% 최대 이익
  • $10 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 이진 옵션
  • VIP 조건
  • 90% 최대 이익
  • $5 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 이진 옵션
  • 트레이딩 룸

보시다시피 선택할 수 있는 것이 많습니다. 나열된 각 브로커에는 브로커의 웹 사이트로 이동하여 열 수 있는 무료 데모 계정이 있습니다. 트레이더, 신호 또는 보너스 복사와 같은 대부분의 기능을 갖춘 브로커를 찾고 있다면 다음을 선택하십시오. Pocket Option. 최대 87%의 효율성으로 최고 품질의 거래 신호에 관심이 있으시면 다음을 선택하십시오. Quotex. 업계에서 가장 높은 수익을 내는 경험 많은 중개인을 찾고 있다면 다음 계정을 개설하십시오. IQ Option. 당신이 초보자이고 초기 마진이 낮고 교육 자료가 많은 브로커를 찾고 있다면, Binarium. 그리고 더 큰 금액($1000 이상)을 입금할 계획이라면 프리미엄 고객을 위한 최고의 브로커이기 때문에 Binomo를 선택하십시오.

거래를 시작하고 처음 $1000를 버는 방법을 배우려면 아래 비디오를 확인하십시오.

pocket option 한국의 바이너리 옵션 브로커

Pocket Option 2017년에 설립된 고급 바이너리 옵션 브로커는 올인원 거래 플랫폼 덕분에 빠르게 인기를 얻었습니다. 플랫폼에서 거래자의 복사 기능, 거래 신호, 보너스, 업적, 캐쉬백 등을 찾을 수 있습니다. 더 많이 입금, 거래 및 인출할수록 더 많은 보석을 얻게 되며 "시장" 탭에서 보너스, 무위험 거래 및 캐쉬백으로 교환할 수 있습니다. Pocket Option 귀하가 지불한 보증금이 적절하게 보관되고 서비스 품질이 최고 수준임을 의미하는 IFMRRC의 공인 브로커입니다. 훌륭한 거래 플랫폼, 높은 수익률 및 뛰어난 기능을 특징으로 하는 고급 바이너리 옵션 브로커를 찾고 있다면 다음을 선택하십시오. Pocket Option. 전 세계 많은 국가에서 최고의 브로커입니다.

이 브로커로 계좌를 개설하면 50% 입금 보너스를 받게 됩니다!

Quotex

quotex 한국의 바이너리 옵션 브로커

Quotex 우리 목록에서 가장 어린 브로커입니다. 브로커는 2020년에 경쟁업체로 설립되었습니다. Pocket Option. 플랫폼에서 많은 지표와 분석 도구를 찾을 수 있습니다. 의 주력 기능 Quotex 브로커의 보증에 따르면 최대 87%의 효율성을 달성하는 거래 신호입니다. 플랫폼에서 활동하는 사용자는 자신의 기록을 깨고 지식을 얻도록 장려하는 업적으로 보상을 받습니다. 불행히도, 이 브로커의 가장 큰 단점은 규제가 없다는 것입니다. 대표님께 연락드렸습니다 Quotex 브로커가 인증서를 신청하는 중이라는 정보를 얻었습니다. 효과적인 거래 신호와 훌륭한 거래 플랫폼을 갖춘 미니멀리스트 바이너리 옵션 브로커를 찾고 있다면 Quotex.

"TradingThug"프로모션 코드는 50% 입금 보너스를 얻을 수 있습니다!

IQ Option

iq option 한국의 바이너리 옵션 브로커

IQ Option 시장에서 가장 잘 알려진 바이너리 옵션 브로커입니다. 브로커는 2013년에 설립되었으며 수많은 지표, 전문 분석 도구 및 통합 경제 달력을 제공한 최초의 거래 플랫폼 덕분에 빠르게 인기를 얻었습니다. 현재 100억 명이 넘는 고객이 브로커의 서비스를 사용하고 있습니다. IQ Option 업계 최고의 수익과 높은 수준의 보안으로 유명합니다. 브로커는 전 세계 7개 TR 바이너리 옵션의 특징 기관에서 규제합니다. IQ Option 바이너리 옵션 뿐만 아니라 forex, CFD, 암호화폐, ETF 및 주식. 법적 제한으로 인해, IQ Option 보너스, 신호 또는 카피 트레이더를 제공할 수 없습니다. 최신 플랫폼과 업계 최고의 수익을 제공하는 규제된 바이너리 옵션 브로커를 찾고 있다면 다음을 선택하십시오. IQ Option.

Binarium

binarium 한국의 바이너리 옵션 브로커

Binarium 목록에서 가장 오래된 브로커입니다. 브로커는 2012년에 설립되었지만 인기를 얻지 못했습니다. IQ Option, Expert Option or Pocket Option. Binarium 오랜 기간 동안 평균적인 투자 조건과 구식 거래 플랫폼을 제공했습니다.. 다행히도, Binarium 최근 페이스리프트를 거쳐 경쟁을 따라잡았습니다. 우리의 의견으로는 $5의 낮은 최소 보증금과 대규모 교육 기반을 제공하기 때문에 초보자 트레이더에게 최고의 브로커입니다. "교육" 탭에는 초보자와 고급 거래자 모두를 위한 다양한 가이드와 20가지 기성 전략 패키지가 있습니다. 등록할 때 1개의 기본 계정 통화 중 하나를 선택할 수 있습니다. 계좌의 통화가 은행 계좌의 통화와 동일한 경우 송금 시 환전 수수료를 절약할 수 있습니다. 초보자를 위한 좋은 바이너리 옵션 브로커를 찾고 있다면 Binarium.

Binomo

한국의 binomo 바이너리 옵션 브로커

Binomo 아시아 시장에서 매우 인기 있는 브로커입니다. 브로커는 2014년에 설립되었으며 많은 분석 도구와 많은 지표를 갖춘 현대적인 플랫폼으로 구별됩니다. Binomo는 정기적으로 상금을 받을 수 있는 토너먼트를 조직합니다. Binomo는 $1000 이상을 입금하기로 결정한 경우 최상의 조건을 제공하기 때문에 VIP 고객을 위한 최고의 중개인으로 간주됩니다. 비공개 VIP 토너먼트, 주간 캐쉬백, 수익 증가 및 바이너리 옵션에서 수익을 올리고 투자 대상과 방법에 대해 조언해 줄 개인 계정 관리자에 액세스할 수 있습니다. 전문 바이너리 옵션 브로커를 찾고 있고 $1000 이상을 입금할 계획이라면 Binomo를 선택하십시오. 최상의 투자조건과 케어를 받으실 수 있습니다.

이 브로커로 계좌를 개설하면 25% 입금 보너스를 TR 바이너리 옵션의 특징 받게 됩니다!

보시다시피 선택할 수 있는 것이 많습니다. 이 목록에 있는 모든 중개인은 당사에서 철저히 확인했으며 당사 웹사이트에서 전체 리뷰를 찾을 수 있습니다. 모든 중개인에게는 중개인의 웹사이트로 이동한 다음 "등록" 버튼을 클릭하여 열 수 있는 무료 데모 계정이 있습니다. 계정을 개설하려면 이메일 주소와 비밀번호를 제공해야 합니다. 경우에 따라 기본 계정 통화를 선택할 수 있습니다. 보증금 지불 및 거래에는 불필요한 절차가 필요하지 않습니다. 몇 분 안에 거래를 시작할 수 있습니다! 적립금을 인출하고자 할 경우에는 본인 확인 및 주소 확인을 통한 본인인증 절차가 필요합니다. 본인 확인을 위해 신분증이나 여권 사진을 보내주시면 됩니다. 주소를 확인하려면 전기요금 고지서나 은행 잔고 증명서 사진이면 충분합니다. 전 세계의 모든 브로커는 자금 세탁을 방지하기 위해 계정 확인이 필요합니다.

한국에서 바이너리 옵션 거래가 합법입니까?

예, 바이너리 옵션은 TR 바이너리 옵션의 특징 한국에서 완벽하게 합법입니다. 불행히도 이 금융 상품을 규제하는 규정은 없습니다. 즉, 규정이 없더라도 모든 브로커가 이 나라에서 서비스를 제공할 수 있습니다. 이것은 당신을 속이려는 부정직한 중개인을 찾기 쉽기 때문에 매우 위험합니다. 따라서 한국인을 위한 추천 브로커 목록을 사용하는 것이 좋습니다.

한국에서 바이너리 옵션 브로커를 선택하는 방법은 무엇입니까?

이 지역에서 올바른 바이너리 옵션 브로커를 찾는 것은 매우 어려운 작업입니다. 사기의 위험을 최소화하려면 규정이 있는 경험 많은 중개인을 찾아야 합니다. 우리 목록에서 이러한 요구 사항을 충족하는 많은 권장 브로커를 찾을 수 있습니다. 브로커가 규제되지 않는다는 사실이 그것이 사기꾼임을 의미하지는 않습니다. 규제는 단순히 전 세계 많은 국가에서 필요하지 않습니다. 그러나 위험을 최소화하기 위해 규제된 플랫폼을 선택하는 것이 좋습니다.

바하마 최고의 바이너리 옵션 브로커 (2022)

바하마에 살고 있고 최고의 바이너리 옵션 브로커를 찾고 있다면 제대로 찾아오셨습니다. 이 나라에서 바이너리 옵션은 완벽하게 합법이지만 불행히도 법으로 규제되지는 않습니다. 이는 사실상 모든 브로커(규제되지 않고 잠재적으로 위험한 브로커 포함)가 바하마 거주자에게 서비스를 제공할 수 있음을 의미합니다. 따라서 우리는 바하마 거주자를 수락하는 권장 바이너리 옵션 브로커의 순위를 집계하기로 결정했으며 귀하는 찢어지지 않을 것이라고 확신할 수 있습니다.

빠른 선택:

  • 96% 최대 이익
  • $50 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 바이너리 옵션, Forex, CFD
  • Copy Trading, 신호, 보너스

IQ Option

  • 95% 최대 이익
  • $10 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 바이너리 옵션, Forex, CFD, FX 옵션, 주식
  • 대회

  • 93% 최대 이익
  • $10 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 바이너리 옵션, Forex, CFD
  • 신호, 보너스

비 노모 거래

  • 90% 최대 이익
  • $10 분 보증금
  • 최소 $1 투자
  • TR 바이너리 옵션의 특징
  • 데모 가능
  • 이진 옵션
  • VIP 조건
  • 90% 최대 이익
  • $5 분 보증금
  • 최소 $1 투자
  • 데모 가능
  • 이진 옵션
  • 트레이딩 룸

보시다시피 선택할 수 있는 것이 많습니다. 나열된 각 브로커에는 브로커의 웹 사이트로 이동하여 열 수 있는 무료 데모 계정이 있습니다. 트레이더, 신호 또는 보너스 복사와 같은 대부분의 기능을 갖춘 브로커를 찾고 있다면 다음을 선택하십시오. Pocket Option. 최대 87%의 효율성으로 최고 품질의 거래 신호에 관심이 있으시면 다음을 선택하십시오. Quotex. 업계에서 가장 높은 수익을 내는 경험 많은 중개인을 찾고 있다면 다음 계정을 개설하십시오. IQ Option. 당신이 초보자이고 초기 마진이 낮고 교육 자료가 많은 브로커를 찾고 있다면, Binarium. 그리고 더 큰 금액($1000 이상)을 입금할 계획이라면 프리미엄 고객을 위한 최고의 브로커이기 때문에 Binomo를 선택하십시오.

거래를 시작하고 처음 $1000를 버는 방법을 배우려면 아래 비디오를 확인하십시오.

pocket option 바하마의 바이너리 옵션 브로커

Pocket Option 2017년에 설립된 고급 바이너리 옵션 브로커는 올인원 거래 플랫폼 덕분에 빠르게 인기를 얻었습니다. 플랫폼에서 거래자의 복사 기능, 거래 신호, 보너스, 업적, 캐쉬백 등을 찾을 수 있습니다. 더 많이 입금, 거래 및 인출할수록 더 많은 보석을 얻게 되며 "시장" 탭에서 보너스, 무위험 거래 및 캐쉬백으로 교환할 수 있습니다. Pocket Option 귀하가 지불한 보증금이 적절하게 보관되고 서비스 품질이 최고 수준임을 의미하는 IFMRRC의 공인 브로커입니다. 훌륭한 거래 플랫폼, 높은 수익률 및 뛰어난 기능을 특징으로 하는 고급 바이너리 옵션 브로커를 찾고 있다면 다음을 선택하십시오. Pocket Option. 전 세계 많은 국가에서 최고의 브로커입니다.

이 브로커로 계좌를 개설하면 50% 입금 보너스를 받게 됩니다!

Quotex

quotex 바하마의 바이너리 옵션 브로커

Quotex 우리 목록에서 가장 어린 브로커입니다. 브로커는 2020년에 경쟁업체로 설립되었습니다. Pocket Option. 플랫폼에서 많은 지표와 분석 도구를 찾을 수 있습니다. 의 주력 기능 Quotex 브로커의 보증에 따르면 최대 87%의 효율성을 달성하는 거래 신호입니다. 플랫폼에서 활동하는 사용자는 자신의 기록을 깨고 지식을 얻도록 장려하는 업적으로 보상을 받습니다. 불행히도, 이 브로커의 가장 큰 단점은 규제가 없다는 것입니다. 대표님께 연락드렸습니다 Quotex 브로커가 인증서를 신청하는 중이라는 정보를 얻었습니다. 효과적인 거래 신호와 훌륭한 거래 플랫폼을 갖춘 미니멀리스트 바이너리 옵션 브로커를 찾고 있다면 Quotex.

"TradingThug"프로모션 코드는 50% 입금 보너스를 얻을 수 있습니다!

IQ Option

iq option 바하마의 바이너리 옵션 브로커

IQ Option 시장에서 가장 잘 알려진 바이너리 옵션 브로커입니다. 브로커는 2013년에 설립되었으며 수많은 지표, 전문 분석 도구 및 통합 경제 달력을 제공한 최초의 거래 플랫폼 덕분에 빠르게 인기를 얻었습니다. 현재 100억 명이 넘는 고객이 브로커의 서비스를 사용하고 있습니다. IQ Option 업계 최고의 수익과 높은 수준의 보안으로 유명합니다. 브로커는 전 세계 7개 기관에서 규제합니다. IQ Option 바이너리 옵션 뿐만 아니라 forex, CFD, 암호화폐, ETF 및 주식. 법적 제한으로 인해, IQ Option 보너스, 신호 또는 카피 트레이더를 제공할 수 없습니다. 최신 플랫폼과 업계 최고의 수익을 제공하는 규제된 바이너리 옵션 브로커를 찾고 있다면 다음을 선택하십시오. IQ Option.

Binarium

binarium 바하마의 바이너리 옵션 브로커

Binarium 목록에서 가장 오래된 브로커입니다. 브로커는 2012년에 설립되었지만 인기를 얻지 못했습니다. IQ Option, Expert Option or Pocket Option. Binarium 오랜 기간 동안 평균적인 투자 조건과 구식 거래 플랫폼을 제공했습니다.. 다행히도, Binarium 최근 페이스리프트를 거쳐 경쟁을 따라잡았습니다. 우리의 의견으로는 $5의 낮은 최소 보증금과 대규모 교육 기반을 제공하기 때문에 초보자 트레이더에게 최고의 브로커입니다. "교육" 탭에는 초보자와 고급 거래자 모두를 위한 다양한 가이드와 20가지 기성 전략 패키지가 있습니다. 등록할 때 1개의 기본 계정 통화 중 하나를 선택할 수 있습니다. 계좌의 통화가 은행 계좌의 통화와 동일한 경우 송금 시 환전 수수료를 절약할 수 있습니다. 초보자를 위한 좋은 바이너리 옵션 브로커를 찾고 있다면 Binarium.

Binomo

바하마의 binomo 바이너리 옵션 브로커

Binomo 아시아 시장에서 매우 인기 있는 브로커입니다. 브로커는 2014년에 설립되었으며 많은 분석 도구와 많은 지표를 갖춘 현대적인 플랫폼으로 구별됩니다. Binomo는 정기적으로 상금을 받을 수 있는 토너먼트를 조직합니다. Binomo는 $1000 이상을 입금하기로 결정한 경우 최상의 조건을 제공하기 때문에 VIP 고객을 위한 최고의 중개인으로 간주됩니다. 비공개 VIP 토너먼트, 주간 캐쉬백, 수익 증가 및 바이너리 옵션에서 수익을 올리고 투자 대상과 방법에 대해 조언해 줄 개인 계정 관리자에 액세스할 수 있습니다. 전문 바이너리 옵션 브로커를 찾고 있고 $1000 이상을 입금할 계획이라면 Binomo를 선택하십시오. 최상의 투자조건과 케어를 받으실 수 있습니다.

이 브로커로 계좌를 개설하면 25% 입금 보너스를 받게 됩니다!

보시다시피 선택할 수 있는 것이 많습니다. 이 목록에 있는 모든 중개인은 당사에서 철저히 확인했으며 당사 웹사이트에서 전체 리뷰를 찾을 수 있습니다. 모든 중개인에게는 중개인의 웹사이트로 이동한 다음 "등록" 버튼을 클릭하여 열 수 있는 무료 데모 계정이 있습니다. 계정을 개설하려면 이메일 주소와 비밀번호를 제공해야 합니다. 경우에 따라 기본 계정 통화를 선택할 수 있습니다. 보증금 지불 및 거래에는 불필요한 절차가 필요하지 않습니다. 몇 분 안에 거래를 시작할 수 있습니다! 적립금을 인출하고자 할 경우에는 본인 확인 및 주소 확인을 통한 본인인증 절차가 필요합니다. 본인 확인을 위해 신분증이나 여권 사진을 보내주시면 됩니다. 주소를 확인하려면 전기요금 고지서나 은행 잔고 증명서 사진이면 충분합니다. 전 세계의 모든 브로커는 자금 세탁을 방지하기 위해 계정 확인이 필요합니다.

바하마에서 바이너리 옵션 거래가 합법입니까?

예, 바이너리 옵션은 바하마에서 완벽하게 합법입니다. 불행히도 이 금융 상품을 규제하는 규정은 없습니다. 즉, 규정이 없더라도 모든 브로커가 이 나라에서 서비스를 제공할 수 있습니다. 이것은 당신을 속이려는 부정직한 중개인을 찾기 쉽기 때문에 매우 위험합니다. 따라서 바하마 사람들을 위한 추천 브로커 목록을 사용하는 것이 좋습니다.

바하마에서 바이너리 옵션 브로커를 선택하는 방법은 무엇입니까?

이 지역에서 올바른 바이너리 옵션 브로커를 찾는 것은 매우 어려운 작업입니다. 사기의 위험을 최소화하려면 규정이 있는 경험 많은 중개인을 찾아야 합니다. 우리 목록에서 이러한 요구 사항을 충족하는 많은 권장 브로커를 찾을 수 있습니다. 브로커가 규제되지 않는다는 사실이 그것이 사기꾼임을 의미하지는 않습니다. 규제는 단순히 전 세계 많은 국가에서 필요하지 않습니다. 그러나 위험을 최소화하기 위해 규제된 플랫폼을 선택하는 것이 좋습니다.

ISO 15415 및 ISO 29158 등급 지정 표준 간의 차이

ISO 15415 2D code on paper next to DPM code on metal part banner image

2차원(2D) 및 직접 부품 마크(DPM) 코드를 규제하는 국제 표준화 기구(ISO)의 검증 표준은 두 가지가 있습니다.

  • 라벨에 인쇄된 2D 코드는 ISO/IEC 15415를 이용합니다.
  • 2D DPM 코드는 AIM DPM이라고도 하는 ISO/IEC TR 29158을 이용합니다.

DPM 코드의 표준인 ISO/IEC TR 29158은 DPM 코드의 다양한 기질과 마킹 유형을 수용하기 위해 ISO/IEC 15415 표준을 수정한 것입니다. 15415와 비교할 때 29158이 다른 수정 사항이 종종 지나치게 간소화되는 경향이 있으므로, 여기서는 두 가지 등급 지정 표준이 어떻게 차이가 나는지를 살펴보도록 하겠습니다.

애퍼처

애퍼처는 그리드 교차점에서 캡처되는 원형 샘플을 지칭합니다. 샘플 원 각각은 소프트웨어가 셀이 어두운지, 밝은지를 결정하기 위해 사용하는 부분입니다. 애퍼처 크기는 결과에 크게 영향을 줄 수 있습니다. 샘플 원이 그 안의 어둡고 밝은 셀을 모두 캡처할 때마다 그레이 음영이 나타납니다. 이상적으로는 애퍼처가 정확한 컬러의 셀 정중앙에 완벽히 맞춰져야 합니다. 빳빳한 모서리 없이 시작하거나 다른 셀의 컬러가 안으로 번진 셀은 대부분 그레이 컬러를 나타냅니다. 디코딩 프로세스는 이미지를 바이너리로 변환하며, 그레이에 해당하는 모든 요소가 블랙 또는 화이트로 변환되어야 합니다. 그레이인 셀은 오류가 발생할 여지가 있습니다. 애퍼처가 너무 크거나 너무 작으면 등급 정확도가 떨어집니다.

애퍼처 예시

ISO 15415에서는 자체 애퍼처 크기를 선택할 수 있습니다. 일반적으로 애퍼처 크기가 모듈의 80%인 것이 권장됩니다. ISO/IEC TR 29158(AIM DPM) 표준에 따라 이 소프트웨어는 기호가 해독될 때까지 애퍼처 크기에 변화를 주고, 그런 다음 두 개의 다른 애퍼처 크기에서 등급이 반복됩니다(50% 및 80%). 두 가지 등급 중 더 나은 것이 최종 등급으로 보고됩니다. 기호가 인식되고 등급 지정 절차의 조기 단계에서 다른 애퍼처 크기로 해독된 경우라도, 기준 디코딩 알고리즘으로 50%와 80%에서 모두 기호를 해독하지 못한 경우 디코딩 등급이 F 가 되고, 보고서의 등급 섹션에 메모가 인쇄됩니다.

글로벌 한계값

글로벌 한계값은 본질적으로 어두운 부분에서 밝은 부분까지 눈금의 지점으로, 셀이 밝은 쪽에 가까운지, 어두운 쪽에 가까운지를 결정합니다. ISO 15415에서 글로벌 한계값은 단순히 최고 반사값과 최저 반사값 사이의 중앙값을 계산한 것입니다. 최고 밝기(Rmax 또는 RL) 및 최저 밝기(Rmin 또는 RD)가 식별되면, 이 두 개의 극한값 아이의 중간점이 글로벌 한계값이 됩니다. 종이 라벨의 경우 Rmax 값은 일반적으로 코드 또는 여백(Quiet Zone) 내의 공간으로부터 구해집니다. 종이 라벨 공간에 거울 반사나 강한 반사로 인한 눈부심이 없기 때문에 일반적으로 이 값은 코드 내에서 다른 대부분 공간들과 그다지 차이가 나지 않습니다.

그러나 DPM 코드에서는 종종 반사 부분이 존재하여 Rmax이 코드 내의 다른 대부분 공간들과 크게 차이가 납니다. 이러한 현상으로 글로벌 한도가 높아지고, 나머지 공간 중 일부가 한도와 가까워지면 낮은 변조값을 초래하기 때문에 문제가 됩니다. DPM 코드를 위한 ISO 29158 표준에서는 보통 Otsu 알고리즘 이라고 하는 알고리즘을 사용해 보다 최적의 한도가 계산됩니다. 상위 레벨에서 이 알고리즘은 어두운 요소와 밝은 요소 사이에서 변화의 최소값을 계산합니다. 이렇게 하면 변조값이 더 높아지므로 보다 이상적인 글로벌 한도가 됩니다. ISO /IEC TR 29158이 ISO 15415보다 특히 DPM 코드에서 더 높은 등급을 지정하는 가장 큰 이유가 바로 여기에 있습니다.

조명 옵션

ISO/IEC TR 29158과 ISO 15415 간에 또 다른 커다란 차이는 다양한 조명 옵션의 허용 여부입니다. 4면 45˚ 조명은 ISO 15415의 기본 설정입니다. ISO/IEC TR 29158은 4면에서 30˚ 조명, 2면에서 30˚(북/남 또는 동/서가 될 수 있음), 축상 90˚ 확산 조명 등 까다로운 DPM 코드에 충분한 조명을 제공할 수 있도록 추가적인 조명 각도를 허용합니다. 사용되는 광원은 각도, 글자를 포함한 표기(Q - 4, T - 2, S - 1)를 사용해 보고됩니다.

조명 옵션

이미지 센서

이미지 센서는 ISO/IEC TR 29158에서처럼 ISO 15415에 대해 동일하게 작동합니다. 그러나 29158에서는 어두운 코드를 더 밝게 하고 전체 그레이스케일 범위를 센서에서 사용하도록 노출이 자동으로 조절되어 이미지를 밝게 만듭니다. 15415 및 29158 모두 실내 조명으로는 이미지에 실제적인 효과를 주지 않기 때문에 조명 강도가 매우 높습니다. 그러나 15415에 비해 29158에서는 노출 값이 변경됩니다. 조명 강도를 가장 잘 나타내는 표시(또는 측정값)는 짧은 노출 시간인데, 그 이유는 밝은 조명이 노출 시간이 짧을 때에만 가능하기 때문입니다. 조명이 더 강하면 노출 시간이 더 짧아집니다(더 좋음). 변경된 노출 시간이 알려지기 때문에 정확한 밝기를 계산할 수 있습니다. 따라서 29158 매개변수 등급 목록 하단에 있는 최소 반사율(MR) 매개변수에서 사전 조정된 이미지의 반사율이 적어도 5% 대비를 갖는지 확인합니다.

보정

보정은 실제 반사율에 맞게 카메라의 측정을 매핑하는 프로세스합니다. 이 프로세스는 보정 카드에서 전체 밝기의 이미지를 제공하는 데 필요한 노출 시간을 찾기 위해 수행됩니다. 보정 카드에는 정확한 부호 대비 Rmin/Rmax 값을 결정하기 위해 미국표준기술연구원(NIST) 추적가능 평가 카드를 기준으로 측정된 바코드 심볼로지가 포함되어 있습니다. 이러한 값은 프로세스 시작 부분에서 검증 소프트웨어에 입력되고, 그에 따라 소프트웨어가 카메라를 조정할 수 있습니다.

보정 카드

보정의 이점은 다른 코드에 대한 이미지를 캡처할 때 해당 코드가 더 어둡다면 노출 시간을 사용해 캡처할 때 이미지가 더 어둡게 나타난다는 것입니다. 이는 기본적으로 검증 소프트웨어 반사값의 기준선을 정립합니다. 현재는 ISO 29158에 대한 DPM 특정 보정 카드는 없습니다. Data Matrix 적합성 검사 카드를 사용할 수 있지만 29158에 사용된 이미지 조정으로 인해 대비 값이 카드의 값과 완전히 일치하지 않습니다. 29158 등급 표준을 사용해 검사를 수행하여 작업이 올바른지를 확인할 수 있지만, 적합성 카드에 나타난 것과 다른 결과가 산출됩니다. ISO 15415를 사용해 검증기를 테스트할 것을 권장합니다.

ISO 15416 및 ISO/IEC TR 29158 등급 지정 표준마다 애퍼처, 글로벌 한도, 조명 옵션, 이미지 센서, 보정이 모두 다릅니다. 등급 지정 프로세스 및 ISO 표준의 품질 매개변수에 대해 자세히 알아보려면 검증 결과 이해 백서를 다운로드하십시오.

The KOBOLD Messring GmbH

우리는 유량, 압력, 레벨 및 온도의 물리적인 양을 모니터링, 측정, 조절하는 데 전문화된 선도적인 국제 계측 공학 기업 중 하나입니다.

dte-temperatur.png: 디지털 온도계 DTE

디지털 온도계 DTE

측정 범위: -200 . 850°C
디스플레이: 6-digits LCD (alphanumeric), 15,8 mm
정확도: ±(0,1% of reading + 0,2°C) for Pt100
하우징 재질: 스테인리스 스틸
하우징: Ø 113 mm
전원: 3,6 V 배터리
옵션/특징:
5000-point-logger, 2x 알람, NFC, 안드로이드 앱,
광범위한 범위의 RTD 및 열전대

데이터 시트

application/pdf; charset=binary

dte-gb-temperature

작동 지침

application/pdf; charset=binary

DTE - Operating Instructions

application/zip; charset=binary

소프트 웨어

application/x-dosexec; charset=binary

소프트 웨어

application/x-dosexec; charset=binary

소프트 웨어

Description

DTE는 배터리로 구동되는 LCD 디지털 온도계로 다양한 산업 및 공정 응용 TR 바이너리 옵션의 특징 분야에서 사용하도록 설계되었습니다. 표준 DTB 계측기와 마찬가지로 이 최신 개발은 MAX / MIN에 기록 된 시간 및 날짜, 메시징 기능, 두 개의 알람 릴레이 및 데이터 로깅과 같은 추가 작동 기능을 제공합니다. 견고한 IP 65 정격 하우징과 모든 스테인리스 스틸 디자인은 습기 및 먼지로부터 보호합니다. 또한 DTE는 직접 마운트, 표면 장착 및 패널 장착과 같은 다양한 장착 옵션을 제공합니다. 당사의 TR 바이너리 옵션의 특징 감지 프로브 및 프로세스 연결 범위로 인해 DTE는 외부 전원이 사용 가능하지 않거나 실용적이지 않은 액체 전구 및 이중 금속 게이지와 같은 기존의 기계 계측기를 대체 할 수 있습니다.
더 큰 LCD 디스플레이 (높이 15.8 mm)는 ° C 또는 ° F 단위로 설정할 수 있으며 0.1 ° 분해능을 사용하면 판독 다이얼과 수은 컬럼의 높은 정확도를 얻을 수 있습니다. 배터리 부족 표시는 디스플레이를 통해 표시되지만, 두 개의 알람 릴레이 중 하나를 사용하여 스크롤 메시지를 래칭할 수 도 있습니다.

KOBOLD Messring GmbH
Nordring 22-24
65719 Hofheim/Taunus
독일

전화: +49 6192/299-0
팩스: +49 6192/23398
이메일: 자바 스크립트를 활성화하십시오.

facebooklinkedin

이 웹사이트를 사용함으로써 귀하는 쿠키 사용에 동의하는 것입니다. 추가 정보는 데이터 개인 정보 보호 정책에서 찾을 수 있습니다.


0 개 댓글

답장을 남겨주세요