$Ringlet: netsec/txt/research.txt,v 1.2 2003/12/12 01:45:56 roam Exp $ 1. Сигурна поддръжка и достъп до World-Wide Web Да се опишат различните услуги и програми, използвани при създаване и достъп до съдържание, разпространявано чрез World-Wide Web. Особено внимание да се обърне на т.нар. active content от всички типове и мерките, които се вземат и при сървъри, и при клиенти за предотвратяване на пробиви в сигурността, предизвикани от active content. [тази тема в три варианта: - разглеждане от клиентската страна - 1 човек - разглеждане от сървърската страна - 1 човек - разглеждане от двете страни - 2 души] 2. Сигурност при peer-to-peer реализации на file sharing Да се опишат различните технологии за peer-to-peer file sharing (Napster, Kazaa и др.) и възможностите за атаки върху тях - подмяна на файлове, представяне на фалшиви "удостоверения за самоличност" (credentials), неправомерен достъп до ресурси на клиентския компютър (достъп до файловата система, изпълнение на код, ...) и други. Да се опишат мерките за защита, взети от различните file sharing системи, и възможностите за тяхното преодоляване. 3. Сигурност при реализации на file sharing от тип клиент-сървър Да се опишат различните технологии за client-server file sharing (NFS, SMB, NetWare, ...) и възможностите за атаки срещу тях - подмяна на файлове, представяне на фалшиви "удостоверения за самоличност" (credentials), неправомерен достъп до ресурси на клиента или сървъра (достъп до файловата система, изпълнение на код, ...) и други. Да се опишат мерките за защита, взети от различните file sharing системи, и възможностите за тяхното преодоляване. 4. Сигурен достъп до Интернет в България Да се разгледат различните методи за връзка с Интернет, предоставяни от българските доставчици (dial-up, ISDN, наета линия, residential LAN, ...). За всеки метод (евентуално и за различните доставчици, когато има разлики в начина на предоставяне на услугата) да се опишат възможностите на атакуващи лица, разположени на различни места (между клиента и доставчика, физически близо до клиента, физически близо до доставчика, споделен ресурс особено в случая на LAN и подобни, както и други възможности според методите), да подслушват и/или подменят трафика, както и да използват неправомерно ресурси на клиента или доставчика с помощта на придобитата информация. [тази тема в три варианта: - разглеждане от страна на физическо лице - 1 човек - разглеждане от страна на фирма - 1 човек - разглеждане от двете страни - 2 души] ====================== Теми за софтуерни проекти 1. Бърз анализ на трафик, преминал през мрежа Да се създаде инструмент, който допълва работата на tcpdump или WinDump , като взима за входни данни файлове, съдържащи запис на преминал трафик (tcpdump -w), и прави статистика за активността на всеки IP адрес, който е изпращал или получавал пакети през това време. Статистикат да съдържа времето (timestamp) на първия и последния изпратен/получен пакет, както и общия размер на трафика, преминал през всеки IP адрес. [това сигурно може да се формулира по-добре... в 2:42am не съм в най-добрата си форма май :] При избора на език за програмиране и използвани библиотеки да се поддържа възможност за компилация на поне 3 различни класа операционни системи. 2. Детектор на ARP poisoning и ARP flood атаки Да се напише програма, която следи трафика, пристигащ по един или повече мрежови интерфейси, и открива вероятни опити за ARP poisoning и ARP flood атаки. Според настройките (зададени в конфигурационен файл, но поддържащи промяна на параметри чрез команден ред и/или текстов/графичен интерфейс) програмата да може да работи в пасивен или активен режим: в пасивен режим следи и изпраща предупреждения, в активен режим да може да преустанови изпращането и получаването на мрежови трафик по атакуваните интерфейси в зависимост от възможностите на операционната система. [тук не ми се иска да подсказвам много, но имам предвид firewall и/или събаряне на интерфейса down] Да се предвиди възможност за изпращане на различни видове предупреждения: системни журнални файлове (log files), известяване на един или повече потребители, които използват компютъра, изпращане на съобщения чрез e-mail и други. [не знам как да го формулирам, но бонус, ако се напише нещо, което се компилира и работи на повече от 2 класа операционни системи] 3. Добавяне на диагностични възможности към популярни софтуерни продукти Да се разширят входните данни (команди, заявки) на един от изброените по-долу програмни продукти по указания начин, като се предостави възможност извършване на поне три от следните дейности: - READ fname [start [end] [unit]] четене на цял файл или на зададен фрагмент от него; незадължителните параметри start и end (цели числа) задават съответно началото и края на фрагмента, а unit (символ) задава единиците - 'l' за редове, 'c' или 'b' за символи/байтове, 'k' за килобайтове, 'm' за мегабайтове. Ако start или end започват със знак '-', позицията се пресмята от текущия край на файла. - WRITE fname start unit truncf string запис на последователност от байтове от определена позиция на файла нататък. start и unit имат същото значение като при READ, truncf е цяло число - ако е различно от нула, файлът трябва да бъде съкратен (truncated) непосредствено до края на записания низ, т.е. записаните символи да се окажат последните символи във файла. - LIST dirname извеждане на списък на файловете в дадената директория и информация за тях във формат, зависещ от операционната система и използваните библиотеки. - EPLF dirname извеждане на списък на файловете в дадената директория и информация за тях във формат EPLF, описан от Prof. Daniel J. Bernstein на . - MLST dirname извеждане на списък на файловете в дадена директория и информация за тях във формат MLST, описан на . - EXEC progname [args...] изпълнение на външна програма, като ако тя извежда данни на стандартния изход, те трябва да бъдат предадени на клиента като отговор на командата. - EXSH [program-path] изпълнение на интерактивен команден интерпретатор (command shell) (само ако е приложимо за програмата). Всички данни, постъпили от клиента в същата сесия, се предават на командния интерпретатор или на програмите, изпълнени от него, като стандартен вход; всички данни, изведени от командния интерпретатор или програмите, изпълнени от него, на стандартния изход или стандартния изход за грешка, се предават на клиента. Програми: - Sendmail SMTP server: добавяне на команда DBUG с първи параметър командата и последващи евентуално параметри на командата; пример: DBUG LIST /tmp - qmail SMTP server (qmail-smtpd): аналогично; - Microsoft Exchange 2000 или 2003 SMTP server: аналогично [тук трябва някой, който се е занимавал с Exchange или нещо такова, или поне знае къде може да се прочете, да каже дали това изобщо е възможно: можеш ли да си напишеш модулче за Exchange, което да добави команда?] - ProFTPd FTP server: аналогично добавяне на FTP команда DBUG; - wu-ftpd FTP server: аналогично; - Microsoft IIS FTP server: аналогично [и тук някой, който си е играл с IIS/FTP, да каже дали може] - Apache HTTP server: аналогично добавяне на HTTP(S) request type DBUG; - thttpd HTTP server: аналогично; - Boa HTTP server: аналогично; - Microsoft IIS HTTP server: аналогично [тук съм 95% сигурен, че е възможно, но все пак не напълно.. ISAPI май дава доста възможности; дава ли възможност и за това?] - BIND DNS server/resolving cache: специална обработка на заявки за записи тип 'A' за top-level domain 'dbg'. Второто ниво на hostname е командата, от третото нататък започват незадължителните параметри; пример: /tmp.list.dbg - tinydns DNS server: аналогично; - dnscache DNS resolving cache: аналогично; - Microsoft DNS server/resolving cache: аналогично [тук *изобщо* не съм сигурен дали е възможно... но все пак да го дадем, пък те да си решат дали ще го правят :] - ОpenSSH SSH server: специална обработка на SSH2_MSG_IGNORE пакет, който има данни, започващи с DBUG; форматът на командата и параметрите в данните са аналогични на тези за SMTP и FTP. - ssh.com SSH server: аналогично. 4. Vulnerability scanner [доста мислех дали да го включа това, май все пак може :]