Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
MỤC LỤC
Chương 1. MỞ ĐẦU
1.1 Lý do và Mục đích chọn đề tài
Ngày nay, sự phát triển công nghệ thông tin gắn liền với sự phát triển nền kinh
tế toàn cầu. Trong nền kinh tế thị trường chứng khoán, nó là công cụ hỗ trợ đắc lực
cho các nhà đầu tư và doanh nghiệp. Các nhà đầu tư cần biết thông tin hiện tại của
mã chứng khoán mà họ quan tâm. Các doanh nghiệp có mã chứng khoán được niêm
yết trên thị trường chứng khoán phải cập nhật liên tục tình hình doanh nghiệp cho
các nhà đầu tư. Các nhà đầu tư sẽ theo dõi thông tin chứng khoán mọi lúc mọi nơi
thông qua phương tiện truyền thông.
Càng ngày càng có nhiều người theo dõi thông tin chứng khoán trên các thiết
bị di động. Smartphone ngày càng rẻ và trở nên phổ biến giúp người dùng đọc
thông tin trên điện thoại tiện lợi và nhanh chóng hơn. Khi ở chỗ làm họ vào các
trang web chứng khoán bằng desktop hay laptop, chỉ khi đang di chuyển trên đường
1
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
1
1
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
hay lúc không làm việc mới dùng điện thoại để truy cập. Đa số người dùng chỉ vào
đọc nhanh các thông tin chứng khoán rồi thoát ra ngay.
Một ứng dụng xem nhanh thông tin chứng khoán ngay trên điện thoại là điều
cần thiết.
1.2 Phạm vi nghiên cứu của đề tài
Đề tài được tập trung vào ba nội dung chính:
1. Tìm hiểu lập trình Android.
2. Tìm hiểu về đôi nét về thị trường chứng khoán.
3. Xây dựng ứng dụng xem bảng giá chứng khoán trực tuyến trên điện
thoại sử dụng hệ điều hành Android.
Trong nội dung thứ 1, em tìm hiểu về các khái niệm, nền tảng( hay còn gọi là các
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
Chương 3. LẬP TRÌNH ANDROID
3.1. Giới thiệu về hệ điều hành Android
3.1.1. Android là gì?
Android là hệ điều hành dành cho các thiết bị di động cầm tay như điện thoại,
máy tính bảng. Nó được thiết kế trên nhân linux 2.6 dành cho các dịch vụ hệ thống
cốt lõi như bảo mật, quản lý bộ nhớ, quản lý tiến trình, ngăn xếp mạng và mô hình
điều khiển. Lập trình viên muốn xây dựng ứng dụng trên nền tảng Android thì phải sử
dụng bộ Android SDK. Android SDK cung cấp các công cụ và APIs để giúp lập trình
viên xây dựng ứng dụng trên nền tảng Android dùng ngôn ngữ lập trình java.
3.1.2. Các tính năng Android cung cấp
• Cho phép tái sử dụng và thay thế các thành phần có sẳn như các
framework.
• Tối ưu hóa vùng nhớ trên thiết bị di động.
• Tích hợp trình duyệt ngay trên thiết bị di động.
• Tối ưu hóa đồ họa bởi thư viện đồ họa 2D tùy chọn, đồ họa 3D dựa trên
đặc điểm kỹ thuật OpenGL ES 1.0.
• Có cơ sở dữ liệu SQLite để phục vụ việc lưu trữ dữ liệu có cấu trúc.
• Hỗ trợ một số định dạng thông dụng của âm thanh, video và hình ảnh
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
• Hỗ trợ các kiểu kết nối mạng thông dụng như Bluetooth, EDGE, 3G, và
Wifi.
• Camera, định vị GPS…
• Hỗ trợ đầy đủ cho môi trường lập trình tốt nhất bao gồm một bộ giả lập
Emulator, các công cụ debug, quản lý hiệu suất và bộ nhớ. Cách tích hợp
tất cả vào Eclipse IDE để lập trình.
4
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
4
4
Internet có thể thông qua việc trao đổi tài liệu, hình ảnh (thông qua chương trình).
Hoặc qua các trang web (Cố ý hoặc vô ý) có chứa virus, qua phần mềm của hãng thứ
3 ….
6
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
6
6
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
- Lây nhiễm qua Email: Đây là phương thức lây nhiễm được quan tâm chủ yếu
ở đề tài này.
Khi mà thư điện tử (e-mail) được sử dụng rộng rãi trên thế giới thì virus chuyển
hướng sang lây nhiễm thông qua thư điện tử thay cho các cách lây nhiễm truyền
thống.
Khi đã lây nhiễm vào máy nạn nhân, virus có thể tự tìm ra danh sách các địa chỉ thư
điện tử sẵn có trong máy và nó tự động gửi đi hàng loạt (mass mail) cho những địa
chỉ tìm thấy. Nếu các chủ nhân của các máy nhận được thư bị nhiễm virus mà không
bị phát hiện, tiếp tục để lây nhiễm vào máy, virus lại tiếp tục tìm đến các địa chỉ và
gửi tiếp theo. Chính vì vậy số lượng phát tán có thể tăng theo cấp số nhân khiến cho
trong một thời gian ngắn hàng hàng triệu máy tính bị lây nhiễm, có thể làm tê liệt
nhiều cơ quan trên toàn thế giới trong một thời gian rất ngắn.
Khi mà các phần mềm quản lý thư điện tử kết hợp với các phần mềm diệt virus có thể
khắc phục hành động tự gửi nhân bản hàng loạt để phát tán đến các địa chỉ khác trong
danh bạ của máy nạn nhân thì chủ nhân phát tán virus chuyển qua hình thức tự gửi
thư phát tán virus bằng nguồn địa chỉ sưu tập được trước đó.
Phương thực lây nhiễm qua thư điển tử bao gồm:
- Lây nhiễm vào các file đính kèm theo thư điện tử (attached mail). Khi đó
ngưòi dùng sẽ không bị nhiễm virus cho tới khi file đính kèm bị nhiễm virus được
kích hoạt (do đặc diểm này các virus thường được "trá hình" bởi các tiêu đề hấp dẫn
như sex, thể thao hay quảng cáo bán phần mềm với giá vô cùng rẻ.)
- Lây nhiễm do mở một liên kết trong thư điện tử Các liên kết trong thư điện tử
Thiết lập các chế độ phòng chống và lọc Spam mail. Bởi phần lớn các email “bẩn”
đều là Spam mail.
8
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
8
8
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
4.4 Spam Mail
4.4.1 Khái niệm Spam mail và tác hại của nó
Spam mail được hiểu là các thư điện tử rác, với nội dung vô bổ, thường là quảng cáo
về một nội dung, sản phẩm, hoặc website nào đó, đôi khi là kèm theo lừa đảo và trộm
cắp thông tin cá nhân. Spam mail thường được gửi cùng lúc cho hàng loạt địa chỉ
email, và gửi nhiều lần thông qua 1 mail server nào đó.
Thông thường, Spam mail chỉ làm người dùng Email khó chịu vì bị tra tấn bởi hàng
trăm email được gửi tới trong một thời gian ngắn, mà nội dung thì chỉ có một vài nội
dung. Tuy nhiên, vẫn không thể tránh được các Spam mail có nội dung khiêu khích
hay lợi dụng, nhằm tuyên truyền quảng bá cho thông tin xấu hoặc lợi dụng trộm cắp
thông tin cá nhân của người dùng.
4.4.2 Cách thức gửi Spam Mail của các Spamer
Để gửi Spam, SPAMER thường phải đi qua 2 bước cơ bản: Thu thập địa chỉ email và
Gửi Spam
4.4.2.1 Thu thập địa chỉ Email
Những kẻ chuyên gửi SPAM – hay còn gọi SPAMER – có rất nhiều cách để thu thập
địa chỉ email. Phổ biến nhất là những cách sau đây:
Cách thứ nhất là thông qua nhóm thảo luận (newsgroups) hoặc phòng chat (chat
rooms) trên Internet, đặc biệt là các trang web cổng thông tin điện tử như AOL hay
Yahoo. Với những dịch vụ như thế người dùng thường vẫn sử dụng địa chỉ email
thực để đăng ký tài khoản. SPAMER chỉ cần dùng một phần mềm đặc biệt là đã có
thể lấy được địa chỉ email của rất nhiều người.
Cách thứ hai là khai thác trực tiếp từ Web. Hiện đã có tới hàng triệu trang web trên
(có thể phải mua lại) từ các Spammer khác
4.4.2.2 Gửi Spam
Có nhiều cách để các Spammer tiến hành gửi hàng trăm, hàng nghìn spam mail khác
nhau (Hợp pháp hoặc bất hợp pháp) điển hình như một vài cách dưới đây.
Các thứ nhất là SPAMMER phải bỏ tiền đầu tư trang bị cho mình rất nhiều hệ thống
máy tính, modem và kết nối mạng Internet để gửi SPAM. Đây là một cách thức hoàn
toàn hợp pháp nhưng có chi phí cao, bởi Spammer phải dựng nguyên 1 hệ thống mail
10
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
10
10
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
server & domain riêng. Tuy nhiên, kết quả đem lại sẽ có thể là hàng chục nghìn đô la
tiền lợi nhuận thu về.
Cách thứ hai rẻ hơn nhiều nhưng lại bất hợp pháp và cũng là cách thức nguy hiểm
nhất đối với người dùng. Đó là cách gửi SPAM thông qua những máy chủ uỷ nhiệm
mở (open proxy servers). Nói đến phương thức gửi SPAM này thì cũng là nói đến
cách thức SPAMMER bí mật đột nhập bắt cóc hệ thống máy tính của người khác để
xây dựng một cái được gọi là botnet. Trước hết SPAMMER sẽ sử dụng công nghệ và
các thủ đoạn cần thiết để bí mật cài đặt một phần mềm lên hệ thống của người dùng.
Đó là phần mềm cho phép SPAMMER có thể kiểm soát được hệ thống máy tính của
nạn nhân từ xa - hay nói một cách khác là SPAMMER đã bắt cóc được chiếc máy
tính đó. Chiếc máy tính đó đã trở thành một thứ được gọi là “Zombie” (thây ma). Khi
có nhiều Zombie, SPAMMER sẽ tiến hành xây dựng một hệ thống mạng các Zombie
– hay đây chính là hệ thống mạng botnet. Đến đây cách thức thứ hai đã giống với
cách thức thứ nhất, chỉ khác một điều là SPAMMER không phải có tiền ra mua các
hệ thống máy tính mà chúng đi “bắt cóc” máy tính của người khác.
Nắm được các phương thức gửi spam mail, cũng góp phần để xây dựng bộ loc mail
cho mail server chống lại chúng.
4.4.3 Chống Spam
SURBL chứa danh sách các miền và địa chỉ của các spammer đã biết. Cơ sở dữ liệu
này được cung cấp và cập nhật thường xuyên tại địa chỉ www.surbl.org.
Có nhiều danh sách SURBL khác nhau như sc.surbl.org, ws.surbl.org, ob.surbl.org,
ab.surbl.org..., các danh sách này được cập nhật từ nhiều nguồn. Thông thường,
người quản trị thường kết hợp các SURBL list bằng cách tham chiếu tới địa chỉ
multi.surbl.org. Nếu một email sau khi kiểm tra nội dung có chứa các liên kết được
chỉ ra trong SURBL list thì nó sẽ được đánh dấu là spam email, còn không nó sẽ
được cho là một email thông thường.
Phương pháp này có ưu điểm phát hiện được các email giả mạo địa chỉ người gửi để
đánh lừa các bộ lọc. Nhược điểm của nó là email phải được tải xuống trước khi tiến
12
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
12
12
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
hành kiểm tra, do đó sẽ chiếm băng thông đường truyền và tài nguyên của máy tính
để phân tích các nội dung email.
4.4.3.3 Kiểm tra người nhận
Tấn công spam kiểu “từ điển” sử dụng các địa chỉ email và tên miền đã biết để tạo ra
các địa chỉ email hợp lệ khác. Bằng kỹ thuật này spammer có thể gửi spam tới các địa
chỉ email được sinh ra một cách ngẫu nhiên. Một số địa chỉ email trong số đó có
thực, tuy nhiên một lượng lớn trong đó là địa chỉ không tồn tại và chúng gây ra hiện
tượng “lụt” ở các máy chủ mail.
Phương pháp kiểm tra người nhận sẽ ngăn chặn kiểu tấn công này bằng cách chặn lại
các email gửi tới các địa chỉ không tồn tại trên Active Directory hoặc trên máy chủ
mail server trong công ty. Tính năng này sẽ sử dụng Active Directory hoặc LDAP
server để xác minh các địa chỉ người nhận có tồn tại hay không. Nếu số địa chỉ người
nhận không tồn tại vượt quá một ngưỡng nào đó (do người quản trị thiết lập) thì
email gửi tới đó sẽ bị coi là spam và chặn lại.
4.4.3.4 Kiểm tra địa chỉ
và các email không hợp lệ khác.
Mỗi từ hoặc mỗi dấu hiệu sẽ được cho một giá trị xác suất xuất hiện, giá trị này dựa
trên việc tính toán có bao nhiêu từ thường hay sử dụng trong spam, mà trong các
email hợp lệ thường không sử dụng. Việc tính toán này được thực hiện bằng cách
phân tích những email gửi đi của người dùng và phân tích các kiểu spam đã biết.
Để bộ lọc Bayesian hoạt động chính xác và có hiệu quả cao, cần phải tạo ra cơ sở dữ
liệu về các email thông thường và spam phù hợp với đặc thù kinh doanh của từng
công ty. Cơ sở dữ liệu này được hình thành khi bộ lọc trải qua giai đoạn “huấn
luyện”. Người quản trị phải cung cấp khoảng 1000 email thông thường và 1000 spam
để bộ lọc phân
4.4.3.7 Sử dụng danh sách Black/white list
Việc sử dụng các danh sách black list, white list giúp cho việc lọc spam hiệu quả hơn.
Black list là cơ sở dữ liệu các địa chỉ email và các miền mà bạn không bao giờ muốn
nhận các email từ đó. Các email gửi tới từ các địa chỉ này sẽ bị đánh dấu là spam
14
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
14
14
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
White list là cơ sở dữ liệu các địa chỉ email và các miền mà bạn mong muốn nhận
email từ đó. Nếu các email được gửi đến từ những địa chỉ nằm trong danh sách này
thì chúng luôn được cho qua.
Thông thường các bộ lọc có tính năng tự học, khi một email bị đánh dấu là spam thì
địa chỉ người gửi sẽ được tự động đưa vào danh sách black list. Ngược lại, khi một
email được gửi đi từ trong công ty thì địa chỉ người nhận sẽ được tự động đưa vào
danh sách white list.
4.4.3.8 Kiểm tra Header
Phương pháp này sẽ phân tích các trường trong phần header của email để đánh giá
email đó là email thông thường hay là spam. Spam thường có một số đặc điểm như:
• Để trống trường From: hoặc trường To: .
email đầu tiên mà họ gửi. Để khắc phục nhược điểm này, người quản trị chỉ nên sử
dụng phương pháp này đối với những email mà họ nghi ngờ là spam.
Chương 5: CHƯƠNG TRÌNH E-MAIL SERVER
Hiện nay việc sử dụng Internet trở nên phổ biến, việc các doanh nghiệp xây dựng 1
hệ thống mail server là tất yếu. Tuy nhiên việc truy cập mạng ra Internet có nhiều rủi
ro do đó việc bảo vệ các dữ liệu cá nhân và bảo vệ hệ thống email là rất quan trọng
do đó cần xây dựng 1 hệ thống Server Mail và bảo mật hệ thống là rất quan trọng.
16
Thực tập tốt nghiệp GVHD: Trần Đức Doanh
16
16
Khoa Công Nghệ Thông Tin Ứng dụng xem bảng giá chứng khoán
5.1 Lập trình mạng trong Visual Studio C#
C# là một ngôn ngữ lập trình rất hiện đại và chạy trên nền tản công nghệ .NET mạnh mẽ. Do
đó mà ngày nay C# được rất nhiều các coder trên thế giới ưu chuộng và tìm hiều.
Một tập các lớp dùng để lập trình mạng thuộc hai không gian tên: System.Net và
System.Net.Sockets. Các lớp này hỗ trợ mọi thứ, từ lập trình dựa-trên-socket với
TCP/IP cho đến download file và trang HTML từ web thông qua HTTP.
5.1.1 Lớp IP Address
Trên Internet mỗi một trạm (có thể là máy tính, máy in, thiết bị …) đều có một định
danh duy nhất, định danh đó thường được gọi là một địa chỉ (Address). Địa chỉ trên
Internet là một tập hợp gồm 4 con số có giá trị từ 0-255 và cách nhau bởi dấu chấm.
Trong MS.NET, lớp IPAddress là một lớp dùng để mô tả địa chỉ này. Đây là lớp rất
cơ bản được sử dụng khi chúng ta thao tác (truyền) vào các lớp như IPEndpoint,
UDP, TCP, Socket …
5.1.2 Lớp IPEndpoint
Trong mạng, để hai trạm có thể trao đổi thông tin được với nhau thì chúng cần phải
biết được địa chỉ (IP) của nhau và số hiệu cổng mà hai bên dùng để trao đổi thông tin.
Lớp IPAddress mới chỉ cung cấp cho ta một vế là địa chỉ IP (IPAddress), còn thiếu vế