Sergey L. Bratus

EDUCATION:
Northeastern University, Boston, 1993-1999
   Ph.D. in Mathematics, 1999
   M.S. in Computer Science, 1999
   Ph.D. Thesis: Recognition of finite black box groups.
Moscow Institute of Physics and Technology (aka MIPT, "Phystech"), 1988-1993
Major: Applied Mathematics and Computer Science. Minor: Physics.

EMPLOYMENT:
                         Dartmouth College, Dept. of Computer Science & Institute for Security Technology Studies
Postdoctoral Research Associate, 2002-present time

    Currently working on applications of Machine Learning and AI techniques to analysis of computer intrusions. Aspects of this research include understanding the mechanisms of network and host reconnaissance and penetration and the traces such activities leave in host and IDS logs, common methods of concealment and IDS evasion, forensic processing of logs, correlation of log data from diverse sources, and data organization and information retrieval issues specific to log data.

BBN Technologies/Verizon, Cambridge
Scientist, 1999-2001

Worked on Text Understanding projects, using Hidden Markov Models, Bayesian models, TF-IDF and other statistical learning and information extraction algorithms and techniques. Implemented XML/XSLT/HTML document frameworks, relational database connectivity and web-based application GUI.

  • Designed, adapted and implemented statistical algorithms for tasks such as parsing, name and descriptor finding and classification, coreference, pronoun resolution, summarization.
  • Designed and implemented an XML-based architecture for processing natural language documents.
  • Designed and implemented XML and HTML-based visualization tools for processed natural language documents.
  • Designed and implemented database back-ends for the above.
College of Computer Science, Northeastern University
Instructor, 1997-1999
  • Taught classes in C++, STL, Software Design, Data Structures.
  • Participated in curriculum development, ported courseware to Win32 (Visual C++ 5,6 and Cygwin)
Department of Mathematics, Northeastern University
UNIX System Administrator, 1997-2000
  • Installed and maintained Linux boxen, symbolic computation software (Maple, GAP, Macaulay 2), TeX packages.
  • Performed web site administration, developed custom web applications (CGI, Perl; Apache, Postgres and MySQL).
Teaching Assistant, 1993-1996
  • Taught various Calculus and Discrete Mathematics courses

RESEARCH:
Interests:
Unix host and network security, reverse engineering of malware.

NLP and XML-based technologies for better search and indexing, XML-based cooperative web protocols.

Object-oriented design, algorithms for Symbolic Computation.

Conferences:
(talks & posters)
  IEEE Workshop on Information Assurance (West Point, NY, 2003)

Summer School on Randomized Algorithms (University of Wisconsin, 1998)

DIMACS Workshop on Randomized Algorithms (Princeton, 1998) [program]

East Coast Computer Algebra Day (U.S. Naval Academy, 1998),

East Coast Computer Algebra Day (Northeastern University, 1997), acted as the local coordinator for Northeastern

Papers:  
  The Kerf toolkit for intrusion analysis,
with Javed Aslam, David Kotz, Ron Peterson, Daniela Rus and Brett Tofel, IEEE Security and Privacy, 2004. Accepted for publication.

Experiments in Multi-Modal Content Extraction,
with L. Ramshaw, E. Boschee, S. Miller, R. Stone, R. Weischedel, A. Zamanian (BBN Technologies), Human Language Technology Conference 2001, http://hlt2001.org, [PDF]

FactBrowser Demonstration,
with S. Miller, L. Ramshaw, R. Weischedel, A. Zamanian (BBN Technologies), HLT 2001, [PDF]

Fast constructive recognition of a black box group isomorphic to S_n  or A_n using Goldbach's Conjecture, 
with I. Pak, Journal of Symbolic Computation, vol. 29, 2000

On sampling generating sets of finite groups and product replacement algorithm, 
with I. Pak, ISSAC-99 Conference Proceedings

Constructive recognition of black box groups isomorphic to central extensions of PSL(n,q), 
with G. Cooperman, L. Finkelstein, S. Linton,  preprint

Recognition of finite black box groups,
(Algorithms for recognition of finite black box groups isomorphic to symmetric and special linear groups) 
Ph.D. thesis, Northeastern University, 1999

TEACHING:
Algorithms and Data Structures I  
Structures, classes, and templates (C++). Abstraction and encapsulation. Dynamic arrays, stacks, queues, linked lists. Simple sorting and searching. Recursion and recursive algorithms. Elements of OO design. Final project for the class was to program a classic arcade game clone, such as Arkanoid, Tetris, Alien Invaders, etc.
Algorithms and Data Structures II  
Linked lists, trees, heaps, priority queues, and hashing. Sorting and searching: quicksort, heapsort, binary search trees etc. Design issues: picking the right data structure and implementation, memory management, generic programming with templates (C++, STL). Recursion versus explicit stack-based algorithms. Graph algorithms.
Fundamentals of Computer Science  
General idea of computer architecture and assembly programming. Basic concepts of a high-level language such as data types, variables, expressions, statements, procedures, functions etc. Basic operations with strings and arrays, input/output etc. Ideas of structured programming.
Calculus, Precalculus, Linear Algebra with Analytic Geometry  
Standard freshman and sophomore courses.

PROGRAMMING ENVIRONMENTS:
Software:
C++, C, Java, Perl (Unix, Win32), LISP, Scheme, Smalltalk

SQL and Transact-SQL (SQL Server 7), JDBC, ODBC, ADO and OLE DB

XML/XSL, XML DOM, HTML and CGI, Tcl/Tk

Platforms:
UNIX (Linux, Solaris, SunOS), MS-DOS, Windows 9x, NT

VARIOUS PROGRAMMING PROJECTS:
Courseware for undergrad C++ courses  
Implemented a graphics/console library for student projects, on top of Win32 API, (for course projects such as clones of classic arcade games: Arkanoid, Tetris, Alien Invaders etc.) (Visual C++, Cygwin32/Windows 9x, NT)
Symbolic Computation
Implemented a GAP share package for two new black box recognition algorithms ("thesis-ware"; GAP/Unix,Win32)

Implemented a package for computation in finite permutation groups (a "Rubik's cube solver") (Lisp/Unix)

Implemented a package for computation with polynomials in commuting and anti-commuting variables (Lisp/Unix)

Compiler Design
  Implemented a compiler from an ML-like language into PowerPC assembly (Java/Unix,PowerPC)
Operating Systems,
Distributed OS
 
  Implemented multi-threading and virtual memory in a time-sharing operating system (C++/Unix)

Implemented a master/slaves task server for remote execution of tasks using RPC (C++,rpcgen/Linux)

Comp. Architecture  
  Implemented a simulation of the MIPS R4400 processor, register transfer level (C++/Unix)

RELEVANT COURSES:
Mathematics
Commutative Algebra, Representation Theory, Lie Groups and Lie Algebras, Probability, Statistics, Real and Complex Analysis, Differential Geometry, Topology
Computer Science
Compiler Design, Operating Systems, Parallel Algorithms, Principles of Programming Languages, Distributed OS, Architecture, Object Oriented Design.
PERSONAL:
Languages: Russian, German