현실감각 0% :: '컴퓨터 관련' 카테고리의 글 목록 (10 Page)

컴퓨터 관련 2009. 8. 31. 21:23

isodata 클러스터링 알고리즘 완성



드디어 isodata 클러스터링 알고리즘 완성!!
솔찍히 제대로 만들었는지는 모르겠다. 뭐 프로젝트에 쓸 알고리즘으로는 이걸로도 충분할듯 하니...ㅋㅋㅋ



결과화면으로는  뭐 뭐가뭔지 잘 모르겠지만 대충 덩어리진것들만 봐선 대체적으로 잘 된듯하다.
일단 기본적으로 3차원 클러스터링용으로 만든것이며, 실험데이터는 16차원짜리 내가 쓰는 데이터를 받아 한거지만 뭐 대충 코드보면 언제든지 수정 가능할듯 싶고...
입력할 값들로는 K, tN, tS, tC, Kmin, Kmax가 있는데... 각각의 설명을 대충 하자면

K = 최초 클러스터 개수
tN = 클러스터가 이루어지기 위한 데이터의 최소개수
tS = 최소 분산 한계
tC = 클러스터 i와 클러스터 j간의 최소 거리
Kmin = 클러스터의 최소 개수
Kmax = 클러스터의 최대 개수

값을 대충 입력해서 돌릴경우 결과는 안드로, 시간은 지구종말의 순간까지 무한루프를 돌 수 있으니 루프가 돈다 싶으면 이러저러하게 바꿔가면서 넣으면 된다.

실험데이터는 말 그대로 16차원의 안드로 데이터를 사용했으므로... 소스를 그대로 이용하여 돌려보려면 대충

for i = 1:1000
for j = 1:16
temp(i,j) = rand;
end
end

이렇게 대충 데이터를 만든후에 입력하면 된다.


소스는 여기를 클릭!


컴퓨터 관련 2009. 8. 27. 17:13

클러스터링 기법으로 분석한 네트워크 이상현상 패턴



클러스터링 기법으로 분석한 DDoS 공격 패턴 특징

 

0011 에서의 데이터 분산도를 보면 Dx와 Dy 모두 1에 근접한 분산도를 가지고 있음을 알 수 있음. 이는 여러 소스 컴퓨터들이 여러 소스 포트를 이용하여 하나의 데스티네이션에 데스티네이션 포트로 접속하였다는 것을 의미. 또한 정상적인 트래픽 데이터에 비해 월등히 높은 비율로 인해 엔트로피도 1에 근접한 모습을 볼 수 있음. 존재하는 실험데이터만을 가지고 예측하였을 때, 6번(UDP로 예상됨) 프로토콜을 이용하여 공격이 많이 이루어지는 것으로 판단됨.

 


  위 영상은 다른 DDoS 공격 데이터의 클러스터링 결과로, 01100101, 0011 패턴이 나타나있음. 0011, 0101, 0011 에서의 데이터 분산도의 클러스터링 결과. 해당 데이터는 Dx는 1에 근접한 분산도를 가지고 있지만, Dy는 0에 근접한 분산도를 가지고 있음. 이는 수많은 좀비 컴퓨터를 이용하였지만 공격시 모두 같은 포트를 이용하여 공격하였음을 의미하며, 위의 실험데이터와는 다른 종류의 DDoS 공격으로 판단됨.

 

클러스터링 기법으로 분석한 DoS 공격 패턴 특징

 

 

DoS와 DDoS 공격의 가장 큰 차이는 공격자가 직접 데이터를 폭발적으로 전송하느냐 감염된 여러 좀비 컴퓨터를 이용하여 전송하느냐의 차이를 가지고 있음. 위 영상의 10101001을 보면 Dx가 1에 가깝고 Dy가 0에 가까운 것을 알 수 있음. 이는 하나의 소스 컴퓨터가 여러 소스 포트를 이용하여 하나의 데스티네이션 컴퓨터를 하나의 데스티네이션 포트를 통해 접근한 것으로 전형적인 DoS 공격을 나타냄. 반대로 0011을 보면 Dx가 0에 가깝고 Dy가 1에 가까운것을 볼 수 있는데 이것 역시 하나의 소스 컴퓨터가 여러 소스 포트를 통해 하나의 데스티네이션 포트로 접속하여 하나의 데스티네이션 컴퓨터로 접근한 것으로 다수의 소스 포트와 하나의 데스티네이션 포트를 이용한 1:1 데이터 전송시 이러한 패턴이 나타남.

 

 

 
이는 다른 DoS 공격 패턴이며 위의 DoS 공격 패턴과 동일한 형태를 보이고 있음.

 

클러스터링 기법으로 분석한 Host Attack 패턴 특징

 

 

1010을 보면 Dx와 Dy 모두 1에 가깝게 나타난 것을 알 수 있으며, 이는 하나의 컴퓨터가 여러 소스 포트로 하나의 데스티네이션 포트에 연결하여 여러 데스티네이션 컴퓨터를 스캔하였음을 의미함. DDoS와 유사한 형태의 패턴을 보이지만 DDoS의 경우에는 1100이며 Host Attack은 1010에서 이와 유사한 패턴이 발생한다는 차이가 있음.

 

 

이는 다른 Host Attack의 클러스터링 영상으로 01101010패턴이 나타남. 두 타입 모두 Dx가 0에 가깝고, Dy가 1에 가까운 형상을 보여주며 이는 위와 다르게 하나의 컴퓨터가 하나의 소스 포트로 하나의 데스티네이션 포트에 연결하여 여러 데스티네이션 컴퓨터를 스캔하였음을 의미함.

 

 

 

클러스터링 기법으로 분석한 Port Attack 패턴 특징

 

 

1001 타입의 데이터가 Dx와 Dy 모두 1에 가깝게 나타났으며, 이는 하나의 소스 컴퓨터가 여러 소스 포트를 이용하여 하나의 데스티네이션 컴퓨터의 여러 데스티네이션 포트를 스캔하였음을 나타냄.

   

이것은 다른 Port Attack 클러스터링 영상으로 10010101, 1100 세 타입의 데이터로 이루어져 있음. 1001 0101 데이터를 보면 Dx는 0, Dy는 1에 근접하였음을 알 수 있으며 이는 위와 동일하게 하나의 소스 컴퓨터가 동일한 소스 포트를 이용하여 하나의 데스티네이션 컴퓨터의 여러 데스티네이션 포트를 스캔하였음을 의미함. 1100은 Dx가 1, Dy가 0에 근접하였으며, 이 역시 하나의 소스 컴퓨터가 하나의 소스 포트를 이용하여 하나의 데스티네이션 컴퓨터의 여러 데스티네이션 포트를 스캔하였음을 나타냄.




컴퓨터 관련 2009. 8. 24. 20:57

임계값 결정 알고리즘



ISODATA 알고리즘 관련 소스를 찾다가 우연찮게 발견한 소스.
귀찮아서 뜯어보진 않았지만 대충 돌려보니 영상의 밝기를 이용하여 이진화시키는 임계값을 출력해주는듯..

뜯어보는건 귀찮고, 여기에 글쓰는건 더 귀찮고... 뭐 다른사람들이 와서 보는곳도 아니고.ㅋ



원본사진




생성한 임계값으로 이진화한 사진


소스파일은 여기에~