๐Ÿ”’ ๋ณด์•ˆ๋„๊ตฌ์˜ ๋ํŒ์™•: OSQuery๋กœ ์—”๋“œํฌ์ธํŠธ ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ง ๋งˆ์Šคํ„ฐํ•˜๊ธฐ ๐Ÿ•ต๏ธโ€โ™€๏ธ

์ฝ˜ํ…์ธ  ๋Œ€ํ‘œ ์ด๋ฏธ์ง€ - ๐Ÿ”’ ๋ณด์•ˆ๋„๊ตฌ์˜ ๋ํŒ์™•: OSQuery๋กœ ์—”๋“œํฌ์ธํŠธ ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ง ๋งˆ์Šคํ„ฐํ•˜๊ธฐ ๐Ÿ•ต๏ธโ€โ™€๏ธ

 

 

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ณด์•ˆ ๋•ํ›„ ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜์€ ์—”๋“œํฌ์ธํŠธ ๋ณด์•ˆ์˜ ํ•ซํ•œ ํŠธ๋ Œ๋“œ, OSQuery์— ๋Œ€ํ•ด ๊นŠ์ด ํŒŒํ—ค์ณ๋ณผ ๊ฑฐ์˜ˆ์š”. ์ด ๊ธ€์„ ๋‹ค ์ฝ๊ณ  ๋‚˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋„ OSQuery ๋งˆ์Šคํ„ฐ๊ฐ€ ๋  ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”! ใ…‹ใ…‹ใ…‹ ์ž, ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด๋ณผ๊นŒ์š”? ๐Ÿš€

๐Ÿ’ก Pro Tip: OSQuery๋Š” Facebook์ด ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ๋กœ, SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์šด์˜ ์ฒด์ œ์˜ ๋กœ์šฐ ๋ ˆ๋ฒจ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์™„์ „ ๊ฟ€ํ…œ์ด์ฃ !

1. OSQuery, ๋„๋Œ€์ฒด ๋ญ๊ธธ๋ž˜? ๐Ÿค”

OSQuery๋Š” ๋งˆ์น˜ ์šด์˜ ์ฒด์ œ๋ฅผ ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋งˆ๋ฒ• ๊ฐ™์€ ๋„๊ตฌ์˜ˆ์š”. ์œˆ๋„์šฐ, ๋งฅOS, ๋ฆฌ๋ˆ…์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ง„์งœ ํŽธ๋ฆฌํ•˜์ฃ . ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์˜ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ๋ณด์•ˆ ์œ„ํ˜‘์„ ๋น ๋ฅด๊ฒŒ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์š”.

OSQuery์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ๋ฐ”๋กœ SQL ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”.

SQL์„ ์กฐ๊ธˆ์ด๋ผ๋„ ์•„๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ฃ . ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌํ•˜๋“ฏ์ด ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์™„์ „ ์ง๊ด€์ ์ด์—์š”! OSQuery ๊ฐœ๋…๋„ OSQuery ์šด์˜ ์ฒด์ œ SQL ์ฟผ๋ฆฌ

์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด OSQuery๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ•œ๋ˆˆ์— ์•Œ ์ˆ˜ ์žˆ์ฃ ? ์šด์˜ ์ฒด์ œ์˜ ์ •๋ณด๋ฅผ SQL ์ฟผ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋‹ˆ, ์ •๋ง ํ˜์‹ ์ ์ด์ง€ ์•Š๋‚˜์š”? ๐Ÿ˜Ž

2. OSQuery ์„ค์น˜ํ•˜๊ธฐ: ์ดˆ๋ณด์ž๋„ ํ•  ์ˆ˜ ์žˆ์–ด์š”! ๐Ÿ’ช

์ž, ์ด์ œ OSQuery๋ฅผ ์„ค์น˜ํ•ด๋ณผ ์ฐจ๋ก€์˜ˆ์š”. ๊ฑฑ์ • ๋งˆ์„ธ์š”, ์ƒ๊ฐ๋ณด๋‹ค ํ›จ์”ฌ ์‰ฌ์›Œ์š”!

์œˆ๋„์šฐ์— ์„ค์น˜ํ•˜๊ธฐ

  1. OSQuery ๊ณต์‹ ์›น์‚ฌ์ดํŠธ(https://osquery.io)์—์„œ ์œˆ๋„์šฐ์šฉ ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์š”.
  2. ๋‹ค์šด๋กœ๋“œํ•œ ์ธ์Šคํ†จ๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์„ค์น˜ ๋งˆ๋ฒ•์‚ฌ์˜ ์ง€์‹œ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ๋!

๋งฅOS์— ์„ค์น˜ํ•˜๊ธฐ

๋งฅ ์‚ฌ์šฉ์ž๋ผ๋ฉด Homebrew๋ฅผ ์ด์šฉํ•ด ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์–ด์š”.

brew update
brew install osquery

๋ฆฌ๋ˆ…์Šค์— ์„ค์น˜ํ•˜๊ธฐ

์šฐ๋ถ„ํˆฌ๋‚˜ ๋ฐ๋น„์•ˆ ๊ณ„์—ด์ด๋ผ๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์–ด์š”.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo add-apt-repository "deb [arch=amd64] https://pkg.osquery.io/deb deb main"
sudo apt update
sudo apt install osquery

๐ŸŽ‰ ์ถ•ํ•˜ํ•ด์š”! ์ด์ œ OSQuery๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์‹œ์Šคํ…œ์— ์„ค์น˜๋˜์—ˆ์–ด์š”. ๋ณด์•ˆ์˜ ์„ธ๊ณ„๋กœ ํ•œ ๊ฑธ์Œ ๋” ๋‹ค๊ฐ€๊ฐ”๋„ค์š”!

3. OSQuery ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•: SQL๋กœ ์‹œ์Šคํ…œ์„ ํ•ดํ‚น(?)ํ•ด๋ณด์ž! ๐Ÿ•ต๏ธโ€โ™‚๏ธ

OSQuery๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์ด์ œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด๋ณผ ์ฐจ๋ก€์˜ˆ์š”. OSQuery๋Š” osqueryi๋ผ๋Š” ๋Œ€ํ™”ํ˜• ์‰˜์„ ์ œ๊ณตํ•ด์š”. ์ด ์‰˜์—์„œ SQL ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์ฃ .

ํ„ฐ๋ฏธ๋„์ด๋‚˜ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ด๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด๋ณด์„ธ์š”:

osqueryi

์งœ์ž”! OSQuery ์‰˜์— ๋“ค์–ด์™”์–ด์š”. ์ด์ œ SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์š”.

๊ธฐ๋ณธ์ ์ธ ์ฟผ๋ฆฌ ์˜ˆ์‹œ

  1. ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก ์กฐํšŒํ•˜๊ธฐ
  2. SELECT name, pid, path FROM processes;
  3. ์„ค์น˜๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชฉ๋ก ๋ณด๊ธฐ
  4. SELECT name, version, install_location FROM apps;
  5. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ
  6. SELECT * FROM listening_ports;
  7. ์‚ฌ์šฉ์ž ๊ณ„์ • ์ •๋ณด ์กฐํšŒํ•˜๊ธฐ
  8. SELECT * FROM users;

์ด๋Ÿฐ ์‹์œผ๋กœ SQL ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์‹œ์Šคํ…œ์˜ ๊ฑฐ์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์š”. ์™„์ „ ์ฉ๋‹ค, ๊ทธ์ตธ? ใ…‹ใ…‹ใ…‹

OSQuery ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ณผ์ • OSQuery ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ณผ์ • SQL ์ฟผ๋ฆฌ ์ž…๋ ฅ OSQuery ์—”์ง„ ์šด์˜ ์ฒด์ œ ๊ฒฐ๊ณผ ์ถœ๋ ฅ

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด OSQuery๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ•œ๋ˆˆ์— ์•Œ ์ˆ˜ ์žˆ์ฃ ? SQL ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด OSQuery ์—”์ง„์ด ์ด๋ฅผ ํ•ด์„ํ•˜๊ณ , ์šด์˜ ์ฒด์ œ์—์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด์š”. ์ •๋ง ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์ด์ฃ ?

4. OSQuery๋กœ ์—”๋“œํฌ์ธํŠธ ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ: ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€์ฒ˜๋Ÿผ! ๐Ÿฆธโ€โ™€๏ธ

์ž, ์ด์ œ OSQuery์˜ ๊ธฐ๋ณธ์„ ์•Œ์•˜์œผ๋‹ˆ ์‹ค์ œ๋กœ ์—”๋“œํฌ์ธํŠธ ๋ณด์•ˆ ๋ชจ๋‹ˆํ„ฐ๋ง์— ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณผ๊นŒ์š”?

1. ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ”„๋กœ์„ธ์Šค ํƒ์ง€ํ•˜๊ธฐ

์•…์„ฑ ํ”„๋กœ์„ธ์Šค๋Š” ์ข…์ข… ์ด์ƒํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ฑฐ๋‚˜, ํŠน์ดํ•œ ๊ฒฝ๋กœ์—์„œ ์‹คํ–‰๋ผ์š”. ๋‹ค์Œ ์ฟผ๋ฆฌ๋กœ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

SELECT name, path, pid
FROM processes
WHERE path NOT LIKE 'C:\Windows\%'
  AND path NOT LIKE 'C:\Program Files\%'
  AND path NOT LIKE 'C:\Program Files (x86)\%';

์ด ์ฟผ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์ธ Windows ์‹œ์Šคํ…œ ๊ฒฝ๋กœ ์™ธ์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„๋‚ด์š”. ๋ฌผ๋ก  ๋ชจ๋“  ๊ฒฐ๊ณผ๊ฐ€ ์•…์„ฑ์€ ์•„๋‹ˆ๊ฒ ์ง€๋งŒ, ์˜์‹ฌ์Šค๋Ÿฌ์šด ๋†ˆ๋“ค์„ ๊ณจ๋ผ๋‚ด๋Š” ๋ฐ ๋„์›€์ด ๋˜์ฃ !

2. ๋น„์ •์ƒ์ ์ธ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํƒ์ง€ํ•˜๊ธฐ

ํ•ด์ปค๋“ค์€ ์ข…์ข… ํŠน์ดํ•œ ํฌํŠธ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•ด์š”. ๋‹ค์Œ ์ฟผ๋ฆฌ๋กœ ๋น„์ •์ƒ์ ์ธ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

SELECT DISTINCT processes.name, listening_ports.port, listening_ports.address, processes.pid
FROM processes
JOIN listening_ports ON processes.pid = listening_ports.pid
WHERE listening_ports.port > 1024;

์ด ์ฟผ๋ฆฌ๋Š” 1024๋ฒˆ ์ด์ƒ์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„๋‚ด์š”. ๋Œ€๋ถ€๋ถ„์˜ ํ‘œ์ค€ ์„œ๋น„์Šค๋Š” 1024๋ฒˆ ์ดํ•˜์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ, ์ด ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋Š” ์—ฐ๊ฒฐ์€ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์ฃ .

3. ์ตœ๊ทผ์— ์ˆ˜์ •๋œ ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ

์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์Šคํ…œ์— ์นจํˆฌํ•˜๋ฉด ์ข…์ข… ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์š”. ๋‹ค์Œ ์ฟผ๋ฆฌ๋กœ ์ตœ๊ทผ์— ์ˆ˜์ •๋œ ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT path, filename, mtime
FROM file
WHERE path LIKE 'C:\Users\%'
  AND mtime > (SELECT datetime('now', '-1 day'))
ORDER BY mtime DESC
LIMIT 20;

์ด ์ฟผ๋ฆฌ๋Š” ์ง€๋‚œ 24์‹œ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉ์ž ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์ˆ˜์ •๋œ ํŒŒ์ผ 20๊ฐœ๋ฅผ ๋ณด์—ฌ์ค˜์š”. ๊ฐ‘์ž๊ธฐ ์ด์ƒํ•œ ํŒŒ์ผ์ด ์ƒ๊ฒผ๋‹ค๋ฉด ๋ญ”๊ฐ€ ์ˆ˜์ƒํ•œ ๊ฑฐ๊ฒ ์ฃ ?

4. ์ž๋™ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ ํ™•์ธํ•˜๊ธฐ

๋งŽ์€ ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์‹œ์Šคํ…œ ์‹œ์ž‘ ์‹œ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ์„ค์ •๋ผ์š”. ๋‹ค์Œ ์ฟผ๋ฆฌ๋กœ ์ž๋™ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT name, path, source
FROM startup_items;

์ด ๋ชฉ๋ก์—์„œ ๋‚ฏ์„  ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๋ฉด, ๊ผญ ํ™•์ธํ•ด๋ณด์„ธ์š”! ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ์ผ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ๊นŒ์š”.

5. USB ์žฅ์น˜ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ

USB ์žฅ์น˜๋ฅผ ํ†ตํ•œ ์•…์„ฑ ์ฝ”๋“œ ์œ ์ž…๋„ ํ”ํ•œ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์ด์—์š”. ๋‹ค์Œ ์ฟผ๋ฆฌ๋กœ ์‹œ์Šคํ…œ์— ์—ฐ๊ฒฐ๋œ USB ์žฅ์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT * FROM usb_devices;

์ด ์ฟผ๋ฆฌ๋กœ ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  USB ์žฅ์น˜์˜ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ๋‚ฏ์„  ์žฅ์น˜๊ฐ€ ๋ณด์ธ๋‹ค๋ฉด ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ด์š”!

๐ŸŽ“ Mini Quiz: OSQuery๋กœ ์–ด๋–ค ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  1. ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค
  2. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ
  3. ์„ค์น˜๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  4. ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž ์ •๋ณด

์ •๋‹ต: ๋ชจ๋‘ ๋‹ค! OSQuery๋Š” ์ด ๋ชจ๋“  ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋Œ€๋‹จํ•˜์ฃ ? ๐Ÿ˜Ž

5. OSQuery์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ: ํ”„๋กœ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€ ๋˜๊ธฐ ๐Ÿ†

์ง€๊ธˆ๊นŒ์ง€ OSQuery์˜ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ดค์–ด์š”. ์ด์ œ ์ข€ ๋” ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์‚ดํŽด๋ณผ๊นŒ์š”? ์ด ๋ถ€๋ถ„์„ ๋งˆ์Šคํ„ฐํ•˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„๋„ ํ”„๋กœ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋  ์ˆ˜ ์žˆ์–ด์š”!

1. ์Šค์ผ€์ค„๋ง๋œ ์ฟผ๋ฆฌ ์‹คํ–‰ํ•˜๊ธฐ

OSQuery๋Š” osqueryd๋ผ๋Š” ๋ฐ๋ชฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ด์š”. ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ์ฃผ๊ธฐ์ ์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋กœ๊ทธ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์ฃ .

๋จผ์ €, ์„ค์ • ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•ด์š”. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์˜ osquery.conf ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”:

{
  "schedule": {
    "process_check": {
      "query": "SELECT name, path, pid FROM processes WHERE path NOT LIKE 'C:\\Windows\\%';",
      "interval": 3600
    },
    "network_check": {
      "query": "SELECT * FROM listening_ports WHERE port > 1024;",
      "interval": 3600
    }
  }
}

์ด ์„ค์ • ํŒŒ์ผ์€ 1์‹œ๊ฐ„(3600์ดˆ)๋งˆ๋‹ค ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ”„๋กœ์„ธ์Šค์™€ ๋น„์ •์ƒ์ ์ธ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ™•์ธํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•ด์š”.

์ด์ œ ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ osqueryd๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”:

osqueryd --config_path=osquery.conf --verbose

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด OSQuery๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๊ณ„์† ์‹คํ–‰๋˜๋ฉด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹œ์Šคํ…œ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์š”. ์™„์ „ ํŽธํ•˜์ฃ ? ใ…‹ใ…‹ใ…‹

2. ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ ๋ชจ๋‹ˆํ„ฐ๋ง (FIM)

OSQuery์˜ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ ํŒŒ์ผ ๋ฌด๊ฒฐ์„ฑ ๋ชจ๋‹ˆํ„ฐ๋ง์ด์—์š”. ์ค‘์š”ํ•œ ์‹œ์Šคํ…œ ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ฆ‰์‹œ ์•Œ ์ˆ˜ ์žˆ์ฃ .

osquery.conf ํŒŒ์ผ์— ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”:

{
  "file_paths": {
    "system": [
      "C:\\Windows\\System32\\drivers\\etc\\hosts",
      "C:\\Windows\\System32\\config\\SAM"
    ]
  }
}

์ด ์„ค์ •์€ hosts ํŒŒ์ผ๊ณผ SAM ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์š”. ์ด ํŒŒ์ผ๋“ค์ด ๋ณ€๊ฒฝ๋˜๋ฉด ํ•ดํ‚น์˜ ์ง•ํ›„์ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋ด์•ผ ํ•ด์š”!

3. ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ชจ๋‹ˆํ„ฐ๋ง

OSQuery๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‹œ์Šคํ…œ ์ด๋ฒคํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์ž‘๋  ๋•Œ๋งˆ๋‹ค ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์ฃ .

osquery.conf ํŒŒ์ผ์— ๋‹ค์Œ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”:

{
  "events": {
    "windows_events": {
      "event_categories": ["process_creation"],
      "event_sources": ["Microsoft-Windows-Security-Auditing"]
    }
  }
}

์ด ์„ค์ •์œผ๋กœ Windows ์‹œ์Šคํ…œ์—์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ์ด๋ฒคํŠธ๋ฅผ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ์–ด์š”. ์•…์„ฑ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์ฃ !

4. ์‚ฌ์šฉ์ž ์ •์˜ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

OSQuery์˜ ๋˜ ๋‹ค๋ฅธ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ์ •์˜ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑฐ์˜ˆ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠน์ • ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์š”:

CREATE TABLE custom_registry (
  path TEXT,
  name TEXT,
  type TEXT,
  data TEXT
);

INSERT INTO custom_registry
SELECT path, name, type, data
FROM registry
WHERE path LIKE 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run%';

์ด ์ฟผ๋ฆฌ๋Š” Windows์˜ ์ž๋™ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ‚ค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด์š”. ์ด์ œ 'SELECT * FROM custom_registry;'๋กœ ์–ธ์ œ๋“  ์ด ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์ฃ !

5. ๋ถ„์‚ฐ ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•œ๋‹ค๋ฉด? OSQuery์˜ ๋ถ„์‚ฐ ์ฟผ๋ฆฌ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ผ์š”!

๋จผ์ €, ์ค‘์•™ ์„œ๋ฒ„๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊ฐ ํด๋ผ์ด์–ธํŠธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์š”:

{
  "options": {
    "distributed_interval": 60,
    "distributed_tls_max_attempts": 3,
    "distributed_tls_read_endpoint": "/distributed_read",
    "distributed_tls_write_endpoint": "/distributed_write",
    "distributed_plugin": "tls"
  }
}

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ 60์ดˆ๋งˆ๋‹ค ์ค‘์•™ ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•ด์„œ ์ƒˆ๋กœ์šด ์ฟผ๋ฆฌ๋ฅผ ๋ฐ›์•„์˜ค๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ „์†กํ•ด์š”. ๋Œ€๊ทœ๋ชจ ๋„คํŠธ์›Œํฌ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•œ๊ฒฐ ์‰ฌ์›Œ์ง€์ฃ !

๐Ÿ’ก Pro Tip: OSQuery๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ํ•ญ์ƒ ์ตœ์‹  ๋ฒ„์ „์„ ์œ ์ง€ํ•˜์„ธ์š”. ๋ณด์•ˆ ๋„๊ตฌ์ธ ๋งŒํผ, ์ƒˆ๋กœ์šด ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ๋น ๋ฅด๊ฒŒ ํŒจ์น˜๊ฐ€ ์ด๋ค„์ง€๋‹ˆ๊นŒ์š”!

6. OSQuery์˜ ์‹ค์ œ ํ™œ์šฉ ์‚ฌ๋ก€: ํ˜„์žฅ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์จ์š”! ๐Ÿ•ต๏ธโ€โ™‚๏ธ

์ง€๊ธˆ๊นŒ์ง€ OSQuery์˜ ์ด๋ก ๊ณผ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ดค์–ด์š”. ์ด์ œ ์‹ค์ œ ํ˜„์žฅ์—์„œ OSQuery๊ฐ€ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€ ๋ช‡ ๊ฐ€์ง€ ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณผ๊นŒ์š”?

1. ๋žœ์„ฌ์›จ์–ด ํƒ์ง€

๋žœ์„ฌ์›จ์–ด๋Š” ํ˜„๋Œ€ ๊ธฐ์—…์˜ ํฐ ์œ„ํ˜‘์ด ๋˜๊ณ  ์žˆ์–ด์š”. OSQuery๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋žœ์„ฌ์›จ์–ด์˜ ํ™œ๋™์„ ์ดˆ๊ธฐ์— ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT f.path, f.filename, f.size, f.mtime, h.md5, h.sha1, h.sha256
FROM file f
JOIN hash h ON f.path = h.path
WHERE f.path LIKE 'C:\Users\%\Desktop\%'
  AND f.mtime > (SELECT datetime('now', '-1 hour'))
  AND (f.filename LIKE '%.encrypted' OR f.filename LIKE '%.locked' OR f.filename LIKE '%.crypted');

์ด ์ฟผ๋ฆฌ๋Š” ์ตœ๊ทผ 1์‹œ๊ฐ„ ๋™์•ˆ ๋ฐ์Šคํฌํ†ฑ์— ์ƒ์„ฑ๋œ ํŒŒ์ผ ์ค‘ ๋žœ์„ฌ์›จ์–ด๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ์„ ์ฐพ์•„๋‚ด์š”. ์ด๋Ÿฐ ํŒŒ์ผ์ด ๊ฐ‘์ž๊ธฐ ๋งŽ์ด ์ƒ๊ฒผ๋‹ค๋ฉด ๋žœ์„ฌ์›จ์–ด ๊ฐ์—ผ์„ ์˜์‹ฌํ•ด๋ณผ ์ˆ˜ ์žˆ์ฃ !

2. ๋‚ด๋ถ€์ž ์œ„ํ˜‘ ํƒ์ง€

๋•Œ๋กœ๋Š” ์กฐ์ง ๋‚ด๋ถ€์˜ ์œ„ํ˜‘์ด ์™ธ๋ถ€ ์œ„ํ˜‘๋งŒํผ์ด๋‚˜ ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ์–ด์š”. OSQuery๋กœ ๋‚ด๋ถ€์ž์˜ ์˜์‹ฌ์Šค๋Ÿฌ์šด ํ™œ๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT u.username, f.filename, f.path, f.size, f.mtime
FROM users u
JOIN file f ON f.uid = u.uid
WHERE f.path LIKE 'C:\Users\%\Downloads\%'
  AND f.size > 1000000000  -- 1GB ์ด์ƒ
  AND f.mtime > (SELECT datetime('now', '-24 hours'));

์ด ์ฟผ๋ฆฌ๋Š” ์ง€๋‚œ 24์‹œ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์šด๋กœ๋“œํ•œ 1GB ์ด์ƒ์˜ ํฐ ํŒŒ์ผ์„ ์ฐพ์•„๋‚ด์š”. ๋ฌผ๋ก  ์ •์ƒ์ ์ธ ๊ฒฝ์šฐ๋„ ์žˆ๊ฒ ์ง€๋งŒ, ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ์‹œ๋„ํ•˜๋Š” ๋‚ด๋ถ€์ž๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜๋„ ์žˆ์ฃ !

3. ์ œ๋กœ๋ฐ์ด ์ทจ์•ฝ์  ๋Œ€์‘

์ƒˆ๋กœ์šด ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜๋ฉด ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ํ•ด์•ผ ํ•ด์š”. OSQuery๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ทจ์•ฝํ•œ ์‹œ์Šคํ…œ์„ ์‹ ์†ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT name, version, install_location
FROM apps
WHERE name LIKE '%์ทจ์•ฝํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„%'
  AND version < '์•ˆ์ „ํ•œ ๋ฒ„์ „ ๋ฒˆํ˜ธ';

์ด๋Ÿฐ ์‹์˜ ์ฟผ๋ฆฌ๋กœ ์ทจ์•ฝํ•œ ๋ฒ„์ „์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„ค์น˜๋œ ์‹œ์Šคํ…œ์„ ๋น ๋ฅด๊ฒŒ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์š”. ํŒจ์น˜๊ฐ€ ํ•„์š”ํ•œ ์‹œ์Šคํ…œ์„ ์šฐ์„ ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ ?

4. ๋„คํŠธ์›Œํฌ ์ด์ƒ ํ–‰๋™ ํƒ์ง€

ํ•ดํ‚น๋œ ์‹œ์Šคํ…œ์€ ์ข…์ข… ์ด์ƒํ•œ ๋„คํŠธ์›Œํฌ ํ™œ๋™์„ ๋ณด์—ฌ์š”. OSQuery๋กœ ์ด๋Ÿฐ ํ™œ๋™์„ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT DISTINCT p.name, p.path, l.port, l.address, p.pid
FROM processes p
JOIN listening_ports l ON p.pid = l.pid
WHERE l.port > 1024
  AND l.address != '127.0.0.1'
  AND p.name NOT IN ('chrome.exe', 'firefox.exe', 'iexplore.exe  ', 'edge.exe', 'Teams.exe', 'Zoom.exe');

์ด ์ฟผ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ธŒ๋ผ์šฐ์ €๋‚˜ ํ™”์ƒํšŒ์˜ ์•ฑ์„ ์ œ์™ธํ•˜๊ณ , 1024๋ฒˆ ์ด์ƒ์˜ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์™ธ๋ถ€์™€ ํ†ต์‹ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„๋‚ด์š”. ์ด์ƒํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•œ๋‹ค๋ฉด ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด๋ด์•ผ ํ•ด์š”!

5. ๊ถŒํ•œ ์ƒ์Šน ์‹œ๋„ ํƒ์ง€

ํ•ด์ปค๋“ค์€ ์ข…์ข… ์‹œ์Šคํ…œ์˜ ๊ถŒํ•œ์„ ์ƒ์Šน์‹œํ‚ค๋ ค๊ณ  ์‹œ๋„ํ•ด์š”. OSQuery๋กœ ์ด๋Ÿฐ ์‹œ๋„๋ฅผ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์š”.

SELECT p.name, p.path, p.cmdline, p.parent, pp.name AS parent_name
FROM processes p
JOIN processes pp ON p.parent = pp.pid
WHERE p.name IN ('runas.exe', 'sudo', 'su', 'whoami', 'net.exe')
  OR p.cmdline LIKE '%privilege%'
  OR p.cmdline LIKE '%admin%';

์ด ์ฟผ๋ฆฌ๋Š” ๊ถŒํ•œ ์ƒ์Šน๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์•„๋‚ด์š”. ๋ฌผ๋ก  ์ •์ƒ์ ์ธ ๊ด€๋ฆฌ ์ž‘์—…์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์˜์‹ฌ์Šค๋Ÿฌ์šด ๊ฒฝ์šฐ๋ผ๋ฉด ๊ผญ ํ™•์ธํ•ด๋ด์•ผ ํ•ด์š”!

7. OSQuery์˜ ํ•œ๊ณ„์™€ ์ฃผ์˜์‚ฌํ•ญ: ์™„๋ฒฝํ•œ ๋„๊ตฌ๋Š” ์—†๋‹ค! ๐Ÿšง

OSQuery๋Š” ์ •๋ง ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ง€๋งŒ, ๋ชจ๋“  ๋„๊ตฌ๊ฐ€ ๊ทธ๋ ‡๋“ฏ ํ•œ๊ณ„์™€ ์ฃผ์˜์‚ฌํ•ญ์ด ์žˆ์–ด์š”. ์ด๋ฅผ ์•Œ๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค!

1. ์„ฑ๋Šฅ ์˜ํ–ฅ

OSQuery๋Š” ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋„ˆ๋ฌด ์ž์ฃผ ๋˜๋Š” ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์–ด์š”.

โš ๏ธ ์ฃผ์˜: ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋‚˜ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์ฟผ๋ฆฌ๋Š” ์‹คํ–‰ ์ฃผ๊ธฐ๋ฅผ ๊ธธ๊ฒŒ ์„ค์ •ํ•˜์„ธ์š”. ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ด์š”!

2. ๋กœ๊ทธ ๊ด€๋ฆฌ

OSQuery๋Š” ๋งŽ์€ ์–‘์˜ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์š”. ์ด๋ฅผ ์ œ๋Œ€๋กœ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋น ๋ฅด๊ฒŒ ์†Œ์ง„๋  ์ˆ˜ ์žˆ์ฃ .

๋กœ๊ทธ ๋กœํ…Œ์ด์…˜์„ ์„ค์ •ํ•˜๊ณ , ์ค‘์š”ํ•œ ์ด๋ฒคํŠธ๋งŒ ์„ ๋ณ„์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•„์š”. ๋กœ๊ทธ ๋ถ„์„ ๋„๊ตฌ์™€ ์—ฐ๋™ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ํšจ๊ณผ์ ์ด๊ฒ ์ฃ ?

3. ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ

OSQuery๋Š” ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ์˜ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์—†์–ด์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, HTTPS ํŠธ๋ž˜ํ”ฝ์˜ ๋‚ด์šฉ์€ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋ถ„์„์ด ํ•„์š”ํ•˜๋‹ค๋ฉด OSQuery์™€ ํ•จ๊ป˜ ์ „์šฉ ๋„คํŠธ์›Œํฌ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์•„์š”.

4. ์‹ค์‹œ๊ฐ„์„ฑ์˜ ํ•œ๊ณ„