Today’s FPGAs Offer High-Performance DSP Capabilities

Today’s FPGAs Offer High-Performance DSP Capabilities

Signal processing is the link from the real world to the computing world. More sophisticated algorithms are developed to exploit the capabilities of digital signal processing, while the performance demands of these algorithms continue to rise exponentially.

FPGAs have included dedicated DSP processing capabilities for nearly ten years. In that time, the evolution of DSP performance in FPGAs has increased to about 700 GMacs/sec., while during the same timeframe DSP processors have experienced only about a 10 GMacs/sec. increase in performance. Some applications require only a moderate amount of DSP performance that is equivalent to the performance offered in a low-cost FPGA like Cyclone IV with up to 90 GMacs/sec. This is still greater than the equivalent performance of multiple DSP processors, which many applications require. In these applications, a single Stratix IV FPGA can replace many DSP processors thereby significantly reducing power, board space, and cost while still delivering more equivalent DSP performance.

The key drivers of high-performance DSP processing requirements exist in wireless infrastructure, video broadcast equipment, medical imaging, and military applications. FPGAs are becoming the defacto programmable DSP platform that addresses these requirements.

But what makes an FPGA so incredible for DSP processing? There are several important factors including the sheer number of multipliers, the amount of distributed on-chip memory bandwidth, massive I/O bandwidth, as well as the complete flexibility in datapath architecture enabled by programmable logic. What is not as well known is that FPGAs also deliver programmable DSP processing at a lower power, while reducing overall system cost and reducing board space.

DSP designers can implement a board with one or several FPGAs that would require dozens of DSP processors and possibly multiple boards. Because FPGAs support vertical migration across different capacities within the same package, a single board and system design can be easily scaled from low-end to the highest capabilities without requiring multiple board designs. This provides major advantages for product line flexibility by reducing engineering design time and verification costs.

An example of how this flexibility is used in wireless infrastructure applications, is where FPGAs are used to implement flexible radio cards that support various standards and through vertical migration, RF bandwidth densities. The newer OFDMA-based LTE standard has configurable RF bandwidth that allows service providers to convert their licensed spectrum to LTE proportional to the rate of user adoption. Flexible, low cost FPGA-based solutions allow a mix of LTE and older CDMA and GSM systems to share the same antenna and radio head systems. Mixing multiple wireless technologies requires digital up and down conversion, with GMAC/s rates in excess DSP processor capabilities. Additionally, new functions that increase power amplifier efficiency and lower cost are implemented digitally, requiring substantially more GMAC/s. The high DSP processing power required as well as the ability to reconfigure the radio head hardware with just an FPGA firmware update, are driving the use of FPGAs in this application.

As the data bandwidth requirements rise, high speed serial interface I/O increase in these systems. FPGA vendors now offer these interfaces, along with the superior GMAC/s DSP capabilities, in low, mid-range, and high end FPGAs. Once the radio head configuration is stabilized, the FPGA vendor that offers a seamless FPGA to ASIC conversion can provide further cost and power savings.

FPGA technology has evolved in system level development tools that enable development of flexible, scalable, maintainable, and high-performance architectures. Both FPGA vendors and EDA companies have developed tools including DSP system modeling tools, system integration tools, control processing IP, automatic C to hardware accelerators, and DSP optimized application IP that further enhance the overall design process.

In summary, the core signal processing of high-performance systems has moved to FPGA implementation. FPGAs deliver the highest performance, programmable digital signal processing available from any semiconductor device, as well as offering the most flexible system architecture solution available spanning performance, low-power, low-price, product breadth, and lifecycle requirements.

Michael Parker Senior Technical Marketing Manager, IP & Technology Product Marketing As Senior DSP Technical Marketing Manager, Michael Parker is responsible for Altera’s DSP related IP, and is also involved in optimizing FPGA architecture planning for DSP applications. Mr. Parker joined Altera in January 2007, and has over 20 years of DSP wireless engineering design experience with Alvarion, Soma Networks, TCSI, Stanford Telecom and several startup companies.

......................................................................


Tags : DSP, Digital Signal Processing, DSP with FPGA

Source : http://chipdesignmag.com/display.php?articleId=3881?Facebook

The Web's greatest security threats revealed

FEBRUARY 22, 2010
The Web's greatest security threats revealed
Crime is the top motivator; SQL injection and cross-site scripting are the top venues for mischief

By Ryan Barnett | Network World
Share or Email|Print|Add a comment|
22 Recommendations
Where are the greatest Web-related security threats today? Analysis of Web Hacking Incidents Database (WHID) reveals that in 2009 social networks were at the greatest risk, malware and defacement remained the most common outcome of Web attacks, and SQL injection was the most common attack vector. Here’s a deeper dive on the findings and what you can do about them.

Perhaps not surprisingly, analysis of Web hacking incidents reveals that social network sites such as Twitter and Facebook are becoming premier targets for hackers. One in five incidents (19 percent) between January and June 2009 targeted social network sites, making them the most commonly attacked market.

[ InfoWorld's Roger Grimes explains how to stop data leaks in an enlightening 30-minute Webcast, Data Loss Prevention, which covers the tools and techniques used by experienced security pros. ]

Many attacks on social networks involve cross-site scripting (XSS) worms. Additionally, insufficient anti-automation controls permit hackers to brute force attack login credentials. In one incident, an attacker accessed a Twitter Admin account that had a password reset tool and compromised 33 high-profile accounts, including President Obama’s.

Web attacks are driven by crime. Most occur because the hacker wants money, not glory. However, in some instances, the attacks are performed by professionals seeking to advance a cause.

In 2009, defacement of Web sites was still the number one driver for Web hacking (28 percent). Defacement includes visible changes and covert changes, such as the planting of malicious code. Criminals exploit Web application vulnerabilities to plant malware that subsequently infects clients who visit the Web site. The hacked sites become the hacker’s primary method of distributing viruses, Trojans and root kits.

On the other end of the spectrum, ideologists use the Internet to express themselves using Web hacking to deface Web sites. The majority of defacement incidents are of a political nature, targeting political parties, candidates, and government departments, typically with a specific message related to a campaign.

Web defacements are a serious problem and a critical barometer for estimating exploitable vulnerabilities in Web sites. Defacement statistics are valuable since they are one of the few incidents that are publicly facing and thus cannot be easily swept under the rug.

SQL injection tops the attack methods
SQL injection remains the No. 1 attack vector, accounting for nearly one-fifth of all security breaches (19 percent). These attacks alter the contents of the back-end database and inject malicious JavaScript. Interestingly, the overall attack more closely resembles a XSS methodology, as the end goal of the attack is to have malicious JavaScript execute within victim’s browsers to steal login credentials to other Web applications.

Attack vectors exploiting Web 2.0 features, such as user-contributed content from social media applications, are also commonly used: Authentication abuse is the second most active attack vector (11 percent), and cross-site request forgery (CSRF) rose to No. 5 (5 percent).

While not a new attack vector, attacks that take advantage of insufficient authentication are increasingly severe due to the proliferation of user-contributed and managed Web sites. This is closely related to CSRF, a vulnerability that was recognized several years ago as a potent attack vector. While it took longer for CSRF to appear than expected, the rise in CSRF incidents is in line with authentication abuse, since it provides an alternative mechanism for performing actions on behalf of a victim.

The trinity of trouble
Regardless of the target, motive, or vector, Web attacks seek to exploit the connectivity, complexity, and extensibility of the Internet. A lack of input validation, poor database configuration, and the priority of new features over security enables hackers to access sensitive information.

The connectivity of the Internet is both a blessing and a curse. HTTP is allowed through virtually every network firewall, opening up the network to external attackers. HTTP is also a very open protocol, which often integrates XML and SOAP inside to help facilitate Web service functions. The explosion of Web 2.0 architectures has shattered the traditional network boundaries, making it even more challenging to secure Web input and output.

Underscoring these issues is the fact that many internal databases are now becoming “Webified” and accessible to external users. Properly configured databases and SQL construction is critical. Developers that are not trained in secure coding put too much trust in user input. It is this lack of input validation that enables mass SQL injection bots to successfully attack databases.

Finally, the extensibility of Web applications leads to greater vulnerabilities since the priority of features usually comes before security. All too often “scope creep” comes into play as new widgets and bells and whistles are added in the middle of the software development life cycle. These additions should require a security review, but this rarely happens. A common complaint heard by Web application security professionals is that implementing security to an application under development is like trying to change a tire on a car that is still moving.

Weathering the attack storm
It is not enough to know about these incidents and risk factors; you must also understand how to protect the integrity of Web applications. If you know a hurricane is approaching, it is irresponsible not to shutter your house. Likewise, if you know Web security incidents are occurring, it is irresponsible not to protect the Web site.

An effective Web security strategy should be able to correlate Web activity to the responsible user, as well as detect abnormal actions. Additionally, poorly coded applications that are not functioning properly or are leaking sensitive information must be identified. Finally, operations, security, and development teams should be able to quickly conduct proper incident response by using operation data to troubleshoot problems and remediate identified vulnerabilities.

Companies with these security strategies can be assured they are running a safe and secure site.

Barnett is a contriutor to Network World, an InfoWorld affiliate, and director of application security research for Breach Security, a SANS Institute faculty member, the OWASP ModSecurity Core Rule Set (CRS) project leader, and a member of the Web Application Security Consortium (WASC), where he leads the Distributed Open Proxy Honeypot Project.

Tags: vulnerability assessment/management, hacking, Internet, Web applications
Source :
http://infoworld.com/d/security-central/webs-greatest-security-threats-revealed-949?page=0,0

Datagrid for PHP

In this post I will share a PHP program source to create Datagrid. Well everyone of you must know that Datagrid sometimes play important role to display the data that we query from our database.

In this post I will share how to integrate the datagrid application given below to your webpage. I will only give the basic feature how to use it, just to display data, since this is all we most need. You can read the full documentation in the readme inside the file.

If we put it simply, this datagrid application only need a query as a data source that you must set and after that you just need to adjust some settings to your datagrid and finally you just need to bind the datagrid to display your data.

I will guide you step by step to use this application(note that you can always refer to the documentation of the file inside). To use the datagrid, you must put :

define ("DATAGRID_DIR", "../datagrid/"); -> Your path to the datagrid folder
define ("PEAR_DIR", "../datagrid/pear/");

Next we must include the file needed as library and source for our function :

require_once(DATAGRID_DIR.'datagrid.class.php');
require_once(PEAR_DIR.'PEAR.php');
require_once(PEAR_DIR.'DB.php');

Next we must configure the data to connect and use a database :

$DB_USER='root';
$DB_PASS='';
$DB_HOST='localhost';
$DB_NAME='apkomindo_site';

For MySQL user you need to attach this code to make connection and start the datagrid processing :

ob_start();
$db_conn = DB::factory('mysql');
$db_conn -> connect(DB::parseDSN('mysql://'.$DB_USER.':'.$DB_PASS.'@'.$DB_HOST.'/'.$DB_NAME));
Set some of the properties needed for the Datagrid(default) :

$debug_mode = false;
$messaging = true;
$unique_prefix = "f_";
$dgrid = new DataGrid($debug_mode, $messaging, $unique_prefix, DATAGRID_DIR);

Next we must define the data source using SQL Query :

$sql = $query;
$dgrid->dataSource($db_conn, $sql, $default_order_field, $default_order_type);
Next we only need to set some options for our datagrid :

$dgrid->setAutoColumnsInViewMode(true);
$sorting_option = true;
$dgrid->allowSorting($sorting_option);
$paging_option = true;
$rows_numeration = false;
$numeration_sign = "N #";
$dgrid->allowPaging($paging_option, $rows_numeration, $numeration_sign);
$bottom_paging = array("results"=>true, "results_align"=>"left", "pages"=>true, "pages_align"=>"center", "page_size"=>true, "page_size_align"=>"right");
$top_paging = array();
$pages_array = array("10"=>"10", "25"=>"25", "50"=>"50", "100"=>"100", "250"=>"250", "500"=>"500", "1000"=>"1000");
$default_page_size = 10;
$dgrid->setPagingSettings($bottom_paging, $top_paging, $pages_array, $default_page_size);
$dgrid->SetEditModeTableProperties(false);
$dgrid->SetDetailsModeTableProperties(false);
$dgrid->SetColumnsInEditMode(false);
$dgrid->SetAutoColumnsInEditMode(false);
$dgrid->AllowMultirowOperations(false);
$dgrid->AllowPrinting(false);
$dgrid->SetModes(false);

Finally we just need to bind our datagrid and do some cleaning :

$dgrid->bind();
ob_end_flush();

If we attach the code above, your datagrid will disable the view, edit, and delete mode. To customize the datagrid base on your needs you must read the documentation given inside the file. This datagrid for PHP is an easy to use application to be integrated with our application. This datagrid also supports filtering feature, edit, view, and delete mode.

If you want to download the datagrid files you can find it in :
http://www.4shared.com/file/228119911/61204e4b/PHP_Datagrid.html

You can extract it and don't forget, to use it, you need to set the path to your datagrid directory according to your folder name.

Also, don't forget to give credits to the developer. Well I hope this application helps you a lot in your application development.

Tags : php datagrid, datagrid for php, php datagrid tutorial, using datagrid php, php tutorial.

Best Regards,
Admin

Using PHP Image Editor

Last time I got an assignment to create a simple CMS and I integrate a PHP Image Editor in it. This PHP Image Editor source is provided in http://www.hotscripts.com. I think we should give the developer a credits. I only distributed this file. This PHP Image Editor offer a very good feature with a good GUI. The feature are such as Image Cropping, Resizing, Filtering(Effect) and Rotating. All the basic function needed for Image Editing already included here.

And also I will give a short tutorial how to integrate this PHP Image Editor to your application.
Note that we must provide an image to the application. We can accomplished this by change the :

$srcEdit = ""; -> to the image filename or URL.
This variable is in the function PHPImageEditor() in classes/phpimageeditor.php.

Provide the image filename and you can use the application now. A simple way to accomplished this is using a constructor parameter. Note that an object for PHP Image Editor class is created in index.php :

global $objPHPImageEditor;
$objPHPImageEditor = new PHPImageEditor();

We can simply change this to :

global $objPHPImageEditor;
$objPHPImageEditor = new PHPImageEditor($filename);

Next, we need to change the PHPImageEditor function in classes/phpimageeditor.php :

function PHPImageEditor($filename)
{
.....
$srcEdit = $filename;
.....
}

Here is the source of PHP Image Editor if you want to download it :


Tags : PHP, Image Editor, PHP Image Processing

Best Regards,
Admin



Free Course on iPhone Development Software(Stanford)


Free Stanford course on developing iPhone software

BY DAN STOBER

Want to know how to write programs for the iPhone and iPod touch? Beginning this week, a Stanford computer science class on that buzzworthy topic will be available online to the general public for free.

The 10-week course, iPhone Application Programming, is a hot ticket. It begins today and videos of the classes will be posted at Stanford on iTunes U two days after each class meeting (http://itunes.stanford.edu). Copies of the slides shown in class will be available there as well.

The proliferation of third-party applications for Apple's iPhone has changed the device from a popular cell phone to a miniature computer. The Apple App Store offers more than 25,000 titles, dealing with everything from maps to business tools, games, photography, fishing and restaurant recommendations based on your location.

"There's a lot of interest in the iPhone," said Brent Izutsu, Stanford's project manager for Stanford on iTunes U. "This course provides an excellent opportunity for us to show the breadth and depth of our curriculum and the innovation of our students."

There are applications that can turn your iPhone into a musical instrument and one that will measure G-forces on your body as you steer your car through a corner. Snap a photo of the cover of almost any book, CD, DVD or video game and—with the right software—get links to ratings and reviews. According to Apple, the download count from its App Store has passed the 800 million mark.

Online viewers of the Stanford course will see the same lectures as the on-campus students, but will not receive credit for the course (http://cs193p.stanford.edu). Some of the student-developed apps from the fall-quarter class, such as the Chinese-English dictionary Qingwen, are available at the iTunes store.

"For Stanford, working with Apple allowed us to focus our energy on identifying and capturing great content while Apple provided us the technology to distribute it globally," Izutsu said.

The Department of Computer Science is part of the Stanford School of Engineering.

Source :

http://news.stanford.edu/news/2009/april1/free-iphone-software-development-course-apple-040109.html

Tags : iPhone, Course, Developer, iPhone Application

VoIP - Steganography Threat

Image: Mick Wiggins

BY JÓZEF LUBACZ, WOJCIECH MAZURCZYK, KRZYSZTOF SZCZYPIORSKI // FEBRUARY 2010

7:00 p.m., Shanghai

An employee of an electronic equipment factory uploads a music file to an online file-sharing site. Hidden in the MP3 file (Michael Jackson's album Thriller) are schematics of a new mobile phone that will carry the brand of a large American company. Once the employee's Taiwanese collaborators download the file, they start manufacturing counterfeit mobile phones essentially identical to the original—even before the American company can get its version into stores.

3:30 p.m., somewhere in Afghanistan

A terrorist hunted by the U.S. Federal Bureau of Investigation posts an excerpt from the motion picture High School Musical Three: Senior Year on Facebook. Inside are hidden instructions for a bomb attack on a commuter rail line in southern Europe. Later that day, terrorists based in Athens follow the instructions to plan a rush hour attack that kills hundreds of people.

4:00 a.m., Malibu, Calif.

A very famous actor (VFA) has a brief conversation with a well-known director (WKD) over Skype, an application that lets them make free voice calls over the Internet. They discuss the medical problems of VFA's cat in great detail. When the conversation is over, WKD's computer has a sleazy new addition—in a folder on his desktop, there is a picture of a nude teenager, along with her mobile number and the date and time at which WKD will meet her at VFA's pool party for a photo session.

What all these scenarios have in common is an information-smuggling technique called steganography—the communication of secret messages inside a perfectly innocent carrier. Think of steganography as meta-encryption: While encryption protects messages from being read by unauthorized parties, steganography lets the sender conceal the fact that he has even sent a message. After the 11 September attacks in 2001, rumors flew that they had been carried out with some help from steganography. A 2001 New York Times article described fake eBay listings in which routinely altered pictures of a sewing machine contained malevolent cargo. The link to 9/11 was never proved or disproved, but after those reports, the interest in steganographic techniques and their detection greatly increased.

Steganography use is on the rise, and not just among criminals, hackers, child pornographers, and terrorists. Persecuted citizens and dissidents under authoritarian regimes use it to evade government censorship, and journalists can use it to conceal sources. Investigators even use it on occasion to bait and trap people involved in industrial espionage: In the 1980s, to trace press leaks of cabinet documents, British Prime Minister Margaret Thatcher had government word processors altered to encode a specific user identity in the spaces between words. When leaked material was recovered, the identity of the leaker could be established by analyzing the pattern of those spaces.

Steganography is evolving alongside technology. A few years ago the cutting edge in steganographic tools involved hiding messages inside digital images or sound files, known as carriers, like that Thriller MP3. The technique quickly evolved to include video files, which are relatively large and can therefore conceal longer messages.

Now steganography has entered a new era, with stupendously greater potential for mischief. With the latest techniques, the limitations on the length of the message have basically been removed. Consider our example involving the use of Skype. Whereas the first two examples each required a carrier—an MP3 song and a video—there was no such requirement for the transmission of that nude photo. The data were secreted among the bits of a digital Voice over Internet Protocol conversation. In this new era of steganography, the mule that coconspirators are using is not the carrier itself but the communication protocols that govern the carrier's path through the Internet. Here's the advantage: The longer the communicators talk, the longer the secret message (or more detailed the secret image) they can send. Most strikingly, the concealment occurs within data whose inherent ephemerality makes the hidden payload nearly impossible to detect, let alone thwart.

We call this new technique network steganography. In our research at the Network Security Group at Warsaw University of Technology, we are studying the ever-evolving spectrum of carrier technologies, the increasing difficulty of detection as more sophisticated carriers leave fewer traces, and the implications of both for law enforcement and homeland security. Our work at Warsaw is literally self-defeating: We figure out the most advanced ways of doing network steganography and then design methods to detect them.

Network steganography is a modern version of an old idea [see slideshow, "The History of Secret Messages, " above]. You could argue that steganography helped spark the first major conflict between Greece and the Persian Empire. A classic use of steganography took place in 494 B.C., when Histiaeus, the ruler of Miletus, tried to instigate an Ionian revolt against the Persians. He shaved his favorite slave's head, tattooed it with a message, and waited for the slave's hair to grow back and obscure the tattoo. Then he sent the slave to his destination, where the intended recipient shaved the slave's head and read the message. The ensuing Ionian revolution lasted for half a century. In the 19th and 20th centuries, rapidly evolving warfare and espionage brought many innovations in steganography: Invisible ink, microdots, and Thatcher's word-processor trick are only a few among many.

With today's technology, information can be smuggled in essentially any type of digital file, including JPEGs or bitmaps, MP3s or WAV files, and MPEG movies. More than a hundred such steganographic applications are freely available on the Internet. Many of these programs are slick packages whose use requires no significant technical skills whatsoever. Typically, one mouse click selects the carrier, a second selects the secret information to be sent, and a third sends the message and its secret cargo. All the recipient needs is the same program the sender used; it typically extracts the hidden information within seconds.

Any binary file can be concealed—for instance, pictures in unusual formats, software (a nasty virus, say), or blueprints. The favored carrier files are the most common ones, like JPEGs or MP3s. This emphasis on popular file formats increases the anonymity of the entire transaction, because these file types are so commonplace that they don't stick out.

The one limitation that steganographers have traditionally faced is file size. The rule of thumb is that you can use 10 percent of a carrier file's size to smuggle data. For an ambitious steganographer, that could be a problem: Imagine an electronic equipment factory employee trying to explain to the IT department why he has to send his mother a 100-megabyte picture of the family dog. For that reason, steganographers soon turned to audio and video files. A single 6-minute song, in the MP3 compression format, occupies 30 MB; it's enough to conceal every play Shakespeare ever wrote.

And yet, even with these precautions, conventional steganography still has an Achilles' heel: It leaves a trail. Pictures and other e-mail attachments stored on a company's outgoing e-mail servers retain the offending document. Anything sent has to bounce through some kind of relay and can therefore be captured, in theory.

Steganography poses serious threats to network security mainly by enabling confidential information leakage. The new crop of programs leaves almost no trail. Because they do not hide information inside digital files, instead using the protocol itself, detecting their existence is nearly impossible.

All the new methods manipulate the Internet Protocol (IP), which is a fundamental part of any communication, voice or text based, that takes place on the Internet. The IP specifies how information travels through a network. Like postal service address standards, IP is mainly in charge of making sure that sender and destination addresses are valid, that parcels reach their destinations, and that those parcels conform to certain guidelines. (You can't send e-mail to an Internet address that does not use a 32-bit or 128-bit number, for example.)

All traffic, be it e-mail or streaming video, travels via a method called packet switching, which parcels out digital data into small chunks, or packets, and sends them over a network shared by countless users. IP also contains the standards for packaging those packets.

Let's say you're sending an e-mail. After you hit the Send button, the packets travel easily through the network, from router to router, to the recipient's in-box. Once these packets reach the recipient, they are reconstituted into the full e-mail.

The important thing is that the packets don't need to reach their destination in any particular order. IP is a "connectionless protocol," which means that one node is free to send packets to another without setting up a prior connection, or circuit. This is a departure from previous methods, such as making a phone call in a public switched telephone network, which first requires synchronization between the two communicating nodes to set up a dedicated and exclusive circuit. Within reason, it doesn't matter when packets arrive or whether they arrive in order.

As you can imagine, this method works better for order-insensitive data like e-mail and static Web pages than it does for voice and video data. Whereas the quality of an e-mail message is immune to traffic obstructions, a network delay of even 20 milliseconds can very much degrade a second or two of video.

To cope with this challenge, network specialists came up with the Voice over Internet Protocol (VoIP). It governs the way voice data is broken up for transmission the same way IP manages messages that are less time sensitive. VoIP enables data packets representing a voice call to be split up and routed over the Internet.

The connection of a VoIP call consists of two phases: the signaling phase, followed by the voice-transport phase. The first phase establishes how the call will be encoded between the sending and receiving computers. During the second phase, data are sent in both directions in streams of packets. Each packet, which covers about 20 milliseconds of conversation, usually contains 20 to 160 bytes of voice data. The connection typically conveys between 20 and 50 such packets per second.

Telephone calls must occur in real time, and significant data delays would make for an awkward conversation. So to ferry a telephone call over the Internet, which was not originally intended for voice communications, VoIP makes use of two more communications protocols, which had to be layered on top of IP: The Real-Time Transport Protocol (RTP) and the User Datagram Protocol (UDP). The RTP gets time-sensitive video and audio data to its destination fast and so has been heavily adopted in much of streaming media, such as telephony, video teleconference applications, and Web-based push-to-talk features. To do that, it relies in turn on the UDP.

Because voice traffic is so time critical, UDP does not bother to check whether the data are reliable, intact, or even in order. So in a VoIP call, packets are sometimes stuck in out of sequence. But that's not a big deal because the occasional misplaced packet won't significantly affect the quality of the phone call. The upshot of UDP is that the protocol opens a direct connection between computers with no mediation, harking back to the era of circuit switching: Applications can send data packets to other computers on a connection without previously setting up any special transmission channels or data paths. That means it's completely private.

Compared to old-fashioned telephony, IP is unreliable. That unreliability may result in several classes of error, including data corruption and lost data packets. Steganography exploits those errors.

Because these secret data packets, or "steganograms," are interspersed among many IP packets and don't linger anywhere except in the recipient's computer, there is no easy way for an investigator—who could download a suspect image or analyze an audio file at his convenience—to detect them.

To better understand what security officials will soon have to deal with, we designed and developed three flavors of network steganography, all of which manipulate IP. The three methods we developed are Lost Audio Packet Steganography, or LACK; Hidden Communication System for Corrupted Networks (HICCUPS); and Protocol Steganography for VoIP application. As their names imply, these techniques exploit lost packets, corrupted packets, and hidden or unused data fields in the VoIP transmission protocol. LACK hides information in packet delays, HICCUPS disguises information as natural "distortion" or noise, and Protocol Steganography hides information in unused data fields.

In regular VoIP telephony, excessively delayed packets containing voice samples are considered useless by the receiver and thus discarded. LACK exploits this mechanism to transmit hidden data. Some of the sender's packets are intentionally delayed, and the steganograms are stowed away inside those delayed packets. To any node that is not "in the know"—that is, a nearby computer that does not have the steganography program installed—they appear useless and are ignored. But if the receiver has the proper software to understand the steganography, it will not discard the excessively delayed packets. It will know that these contain the hidden data [see diagram, "Hidden in the Network"].

The transmission capacity for this scheme depends on the system used to encode the voice and on the quality of the network—specifically, how well it handles packet loss and delays. Using a standard 32-bit-per-second codec, and accounting for a 3 percent packet loss introduced by the network and a 0.5 percent packet loss introduced by LACK itself, a smuggler could transmit about 160 bits per second. At that rate you might be able to transmit a medium-size, 13-kilobyte image or a 2000-word text file during a typical 9- to 13-minute VoIP conversation.

LACK's main selling points are that it is simple to use and hard to detect. The only way it could be detected is if the user tried to hide too many secret packets. In that case, the number of intentionally delayed packets—and therefore the introduced delay—would create a suspiciously abnormal voice connection that might attract the attention of any security officials monitoring the line. If the call was completed before those officials could intercept the packets, however, there would be nothing they could do to try to uncover and assemble the steganograms.

Where LACK relies on lost packets to smuggle steganograms, HICCUPS takes advantage of corrupted packets. HICCUPS is fast. Let's say you have an IEEE 802.11g network with a transmission capacity of 54 megabits per second, with 10 terminals and a 5 percent rate of corrupted frames. Over such a network, you could send hidden data at a rate higher than 200 kilobits per second. That's almost as fast as the ISDN lines that were all the rage in the 1990s.

HICCUPS works on wireless local area networks, such as plain old coffee shop Wi-Fi. In such a wireless environment, data are transmitted by a method called broadcasting, which shuttles data in groups called frames. Like many courier services, broadcasting doesn't concern itself with the contents of the data or whether the data contain errors. When a wireless network detects an error in a frame, the computer simply drops that corrupted frame. The responsibility for detecting dropped frames (and retransmitting them if necessary) is left to the origin and destination terminals.

So in a wireless local-area network, all the user terminals (laptops, for the most part) must have a way of differentiating good packets from corrupted zones. This error-checking mechanism is called the checksum, a kind of signature against which the integrity of the packets can be confirmed. The checksum is a numerical value assigned to a data packet based on the number of bits in that packet. A checksum program uses that value to authenticate that the data hasn't been corrupted.

When the receiver's computer gets a packet, it checks for errors using that packet's checksum. Normally, if the checksum is wrong, the computer discards that packet. But if a terminal has the right steganography program installed, it won't discard these intentionally wrong checksums—instead, it will know that these are precisely the data packets to scan for steganograms.

HICCUPS is more difficult to pull off than LACK. That's because this method requires a wireless card that can control frame checksums (good luck finding one of those at RadioShack). Network cards create checksums at the hardware level. We have applied for a patent in Poland for a HICCUPS-enabled card that can control checksums, but so far we haven't built our own card. Detecting HICCUPS wouldn't be easy. You'd need some way of observing the number of frames with incorrect checksums. If the number of those frames is statistically anomalous, then you might suspect the transmission of hidden information. Another way of detecting HICCUPS would analyze the content of those dropped—and therefore retransmitted—frames in order to detect the differences between the dropped and retransmitted frames. Major differences in these frames would constitute an obvious clue to nefarious goings-on.

Any of these detection methods, of course, would require not only that an investigator be aware that a transmission was about to take place but also that he be equipped with the right equipment, ready to monitor the conversation and intercept bits. Such a situation would be unlikely, to put it mildly.

The third method, Protocol Steganography, is a common name for a group of methods that use another aspect of IP: packet header fields. These fields are like sophisticated address labels that identify the contents of data packets to the recipient. Steganograms can be hidden inside unused, optional, or partial fields, because any data in these fields can be replaced without affecting the connection. Some of the more ham-fisted steganography techniques simply replace the content of the unused or optional fields with steganograms. But that would be relatively easy to detect and even jam.

So, to evade detection by simple analysis, the more sophisticated variant of Protocol Steganography uses fields in which the content changes frequently. For example, some of the more esoteric VoIP fields carry security data for authentication purposes. That little authentication subfield changes frequently during the course of a normal call. A steganogram smuggled inside one of its many randomly changing packets would be extremely hard to detect. Of course, there is a trade-off: The user would also sacrifice security, meaning that his or her conversation could be intercepted more easily.

Minimizing the threat of evolving steganography methods requires an in-depth understanding of how network protocols function and how they can be exploited to hide data. The problem is, however, the complexity of today's network protocols. All three steganographic ideas we've outlined here are so simple, we're certain that real-life applications are sure to come, if they aren't already out there. In fact, much more sophisticated methods will appear as Internet communication evolves from VoIP to other real-time media communications, such as video chat and conferencing.

The anonymity of steganography might be good for privacy, but it also multiplies the threats to individuals, societies, and states. The trade-off between the benefits and threats involves many complex ethical, legal, and technological issues. We'll leave them for other thinkers and other articles.

What we're trying to do is understand what kind of potential contemporary communication networks have for enabling steganography, and in effect, create new techniques so that we can figure out how to thwart them. Some readers may object to our detailed descriptions of how these methods can be harnessed. But we would counter that unless someone shows how easy all this is, researchers won't understand the urgency and be inspired to develop protective measures. Not only can VoIP steganography be implemented in telephony tools that require a laptop or PC (like Skype), it can also be used in hard phones, such as the Android VoIP-enabled mobile phones that are starting to proliferate. Steganography on a phone is more difficult, because it requires access to the device's operating system, but no one should doubt that committed individuals will have no trouble rising to the challenge. As George Orwell once wrote, "On the whole human beings want to be good, but not too good, and not quite all the time."

This article originally appeared in print as "Vice Over IP."

About the Author

Józef Lubacz, Wojciech Mazurczyk & Krzysztof Szczypiorski, who wrote “Vice Over IP,” are professors at Warsaw University of Technology, in Poland. As part of the Network Security Group at WUT, they have looked since 2002 for new ways to smuggle data through networks, and more important, how to thwart such attempts. In 2008, the group published the first paper about network steganography in IP telephony. After many years spent anticipating evildoers and their machinations, Szczypiorski says his favorite saying comes from Indiana Jones: “Nothing shocks me. I’m a scientist.”

This is an article posted in :

http://spectrum.ieee.org/telecom/internet/vice-over-ip-the-voip-steganography-threat/0

Best Regards,

Admin

Assembly Code for Integer Multiplication

Well you all that familiar with C/C++ Programming must know that to multiply value we will use the syntax *, for example a * b, 5 * 4. Computer that has 32 bit register can do this process easily.


Well, back then I got an assignment to create a Assembly program using MCS-51 that is limited to 8 bit memory(max 255) to do the 4 byte multiplication(32 bit integer multiplication in computer). Here is the Assembly Code :

org 00h

byte1 equ 40h
byte2 equ 41h
byte3 equ 42h
byte4 equ 43h
byte1m equ 30h
byte2m equ 31h
byte3m equ 32h
byte4m equ 33h
temp1 equ 48h
temp2 equ 49h
temp3 equ 4ah
temp4 equ 4bh
temp5 equ 4ch
byte1r equ 60h
byte2r equ 61h
byte3r equ 62h
byte4r equ 63h
byte5r equ 64h
byte6r equ 65h
byte7r equ 66h
byte8r equ 67h
ptrbyte equ 68h
ptrres equ 69h
ptrtemp equ 6ah
ctr1 equ 6bh
ctr2 equ 6ch

start: mov r0,#byte1m
mov r1,#temp1
mov ctr1,#4
mov ctr2,#4
mov ptrbyte,#40h
mov ptrres,#60h
mov ptrtemp,#48h
clr c
mov byte1,#11h
mov byte2,#11h
mov byte3,#11h
mov byte4,#11h
mov byte1m,#11h
mov byte2m,#11h
mov byte3m,#11h
mov byte4m,#11h

mplybyte: mov r0,ptrbyte
mov a,@r0 ;a will be the byte that will be processed, start = byte at address 40h
mov r0,#byte1m
mov r1,#temp1
mainprocess: push 0
mov r0,ptrbyte
mov a,@r0
pop 0
mov b,@r0 ;b will the first byte multiplier at address 30h(byte1m)
mul ab
mov r3,a ;save a
mov r4,b ;save b
mov a,@r1 ;get the value of temp byte before that is pointed by r1,start 48h
addc a,r3
mov @r1,a ;store a to address pointed by r1
inc r1 ;add value to point the next temp byte
mov a,@r1
addc a,b
mov @r1,a
inc r0 ;add value of r0 to point the next byte multiplier
djnz ctr2,mainprocess ;counter loop 4 byte

addbyte: mov r0,ptrres ;set r0 to point byte result(start byte1r)
mov ctr2,#5 ;counter for add(5 byte multiplication = 1 byte x 4 byte)
mov r1,#temp1 ;set r1 with the address of first temporary byte, start 48h
addproses: mov a,@r0 ;get the value at address pointed by r0, store in acc
addc a,@r1
mov @r0,a ;store acc to address pointed by r0(start 60h)
inc r0 ;add r0 to point the next address
inc r1 ;add r1 to point the next address
djnz ctr2,addproses ;counter loop for add
nextbyte: inc ptrbyte ;point to next byte
inc ptrres ;shift 1 byte pointer byte result(multiplication properties)
mov ctr2,#4 ;reset parameter
mov temp1,#0
mov temp2,#0
mov temp3,#0
mov temp4,#0
mov temp5,#0
djnz ctr1,mplybyte ;do until 4 byte
end

Well, when I created this code I notice that I'm so lucky not to program like this when I develop my apllication :). Hope you get something from this post.

Best Regards,
Admin

Learning OpenCV Ebook

This is the Learning OpenCV E-book(O'Reilly).

I have uploaded this book into filesharing.

You can download it here :

Well, I will not explain the book, its all about OpenCV.


Open CV Build and Tutorial for Visual Studio 2008

Well, I have been trying OpenCV as a library for Computer Vision developed by Intel. This library can be used by Visual Studio 2005, 2008, Linux, etc.

We can use the OpenCV library for many application involving Image Processing, Machine Learning, Video Processing and others. It is a very good framework for faster development of Computer Vision Application.

To get OpenCV you can go to
http://opencv.willowgarage.com/wiki/


For Windows user you can just download the binary installer for OpenCV. Its size is 25MB. After that you just need to execute the installer, set the install path and OpenCV will be installed in your computer.

For VS2008 user, to use OpenCV library you need to create a new Visual C++ Win32 Console Application. You need to setup some things in the Project->Properties. First thing that you must to set is the properties of Additional include directories.

This will be ~OpenCVInstallPath\include\opencv,

Next, we must set the library object in the Linker->Input in properties. You must set the Additional Dependencies and insert all the file in ~openCVInstallPath\lib

This is the standard setting mode if you want to use the OpenCV library. The full documentation to use OpenCV Library in VS 2008 is in


Well, as a first time user back then, I found some problem when using standard setting. One of the most frustrating problem that is so hard to solve because lack of internet resource is "entrypoint not found in some dll" when I build my application using OpenCV. After searching in the internet, I found that to solve this we need to build OpenCV from Source using CMake.

You can use the OpenCV solution to build your project. I have uploaded all the build version of OpenCV using CMake. You can create new project in this solution and it will prevent you from Linker problem(as Entrypoint not found).

You can download the OpenCV release here, well I call this a framework so that you just to create a new project inside this solution :


You also need to do some standard linker setting that is listed in using OpenCV in VS 2008 in the link I provided above. Note that the linker input file is now located in :

~yourExtractedPath/lib/Debug/

With this way you can easily use the OpenCV Framework and will be prevented from having some trouble because of the linker.

Maybe, later time I will post a tutorial about OpenCV again to develop some application.

Best Regards,
Admin

Changing Styles

I think it has been so long that I haven't updated this blog. Haha, right now, I decide to get active again in this blog. Well the important thing is I will change my post topics regarding ASP.NET -> PHP, Linear Signal and System will be changed into FPGA Practical DSP using Nios II and MATLAB. I will also try to add an article about trends or issue that faced by the technology nowadays. Maybe I will get article from other source. I will also publish some paper and E-book that I downloaded and collected. There will be various topics including paper and E-book, but it will be related to Cryptography, DSP, Image Processing, and others.

Well I think it's enough information for now. Hope you visit my blog.

Best Regards,
Admin